《30天打造安全工程师》第15天:网络监听技术分析 纯属理论
今天我们先说几个基本概念.首先,我们知道,一台接在以太网内的计算机为了和其他主机进行通讯,在硬件上是需要网卡,在软件上是需要网卡驱动程序的。而每块网卡在出厂时都有一个唯一的不与世界上任何一块网卡重复的硬件地址,称为mac地址。同时,当网络中两台主机在实现tcp/ip通讯时,网卡还必须绑定一个唯一的ip地址.
对我们来说,浏览网页,收发邮件等都是很平常,很简便的工作,其实在后台这些工作是依*tcp/ip协议族实现的,大家知道有两个主要的网络体系:OSI参考模型和TCP/IP参考模型,OSI模型即为通常说的7层协议,它由下向上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,而tcp/ip模型中去掉了会话层和表示层后,由剩下的5层构成了互联网的基础,在网络的后台默默的工作着。
当局域网内(因为我们最常见的就是局域网)的主机都通过HUB等方式连接时,一般都称为共享式的连接(就是大家长说的共享),这种共享式的连接有一个很明显的特点:就是HUB会将接收到的所有数据向HUB上的每个端口转发,也就是说当主机根据mac地址进行数据包发送时,尽管发送端主机告知了目标主机的地址,但这并不意味着在一个网络内的其他主机听不到发送端和接收端之间的通讯,只是在正常状况下其他主机会忽略这些通讯报文而已!如果这些主机不愿意忽略这些报文,网卡被设置为promiscuous状态的话,那么,对于这台主机的网络接口而言,任何在这个局域网内传输的信息都是可以被听到的。如果网卡被设置为为混杂模式(promiscuous),主机将会默不作声的听到以太网内传输的所有信息,也就是说:窃听也就因此实现了!
对发生在局域网的其他主机上的监听,一直以来,都缺乏很好的检测方法。这是由于产生网络监听行为的主机在工作时总是不做声的收集数据包,几乎不会主动发出任何信息。但可惜的有些大虾们就爱动脑筋啊,现在已经有些方法了
1:反应时间
向怀疑有网络监听行为的网络发送大量垃圾数据包,根据各个主机回应的情况进行判断,正常的系统回应的时间应该没有太明显的变化,而处于混杂模式的系统由于对大量的垃圾信息照单全收,所以很有可能回应时间会发生较大的变化。这个方法很好,但有时候也没用因为大家没经验嘛
2:观测dns
许多的网络监听软件都会尝试进行地址反向解析,在怀疑有网络监听发生时可以在dns系统上观测有没有明显增多的解析请求。没DNS的或者不能接触的就有点郁闷了
3:利用ping模式进行监测
这个方法我不怎么知道,看了一些文章就COPY了一下,有点头晕,但应该能看懂:假设我们怀疑的主机的硬件地址是00:30:6E:00:9B:B9,它的ip地址是192.168.1.1,那么我们现在伪造出这样的一种icmp数据包:硬件地址是不与局域网内任何一台主机相同的00:30:6E:00:9B:9B,目的地址是192.168.1.1不变,我们可以设想一下这种数据包在局域网内传输会发生什么现象:任何正常的主机会检查这个数据包,比较数据包的硬件地址,和自己的不同,于是不会理会这个数据包,而处于网络监听模式的主机呢?由于它的网卡现在是在混杂模式的,所以它不会去对比这个数据包的硬件地址,而是将这个数据包直接传到上层,上层检查数据包的ip地址,符合自己的ip,于是会对对这个ping的包做出回应。这样,一台处于网络监听模式的主机就被发现了。
4:利用arp数据包进行监测
这个方法和上面的差不多,它使用arp数据包替代了上述的icmp数据包而已,向局域网内的主机发送非广播方式的arp包,如果局域网内的某个主机响应了这个arp请求,那 么我们就可以判断它很可能就是处于网络监听模式了,这是目前相对而言比较好的监测模式。
(什么叫ARP?就说ARP协议,它是Address Resolution Protocol”(地址解析协议)的缩写,在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的.所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。)
昨天有些朋友说找不到一些网络监听的工具,你在www.google.com搜sniffer tools有很多的.
我就列举一些了
Windows平台下的:
Windump http://www.xfocus.net/tools/200108/238.html
相关介绍:http://security.zz.ha.cn/windump.html
注意这个是在NT下用的98就别用了,说到这想说一局如果你的系统是98或是ME的,最好换一个,因为好多很好的软件都要求是NT的
UNIX下:
Sniffithttp://www.programsalon.com/download.asp?type_id=53 第6个
该软件的安装介绍:http://www.xfocus.net/articles/200001/28.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/54143.html
googlewindows相关文章
- 你真的要进IT行业?真的要做Java开发工程师吗?你真的想好了吗?
- 【翻译】工程师预防技术债务的三种推荐策略
- 最好的工程师枕边读物DDD的启蒙书《代码精进之路:从码农到工匠》
- 思科数通设备命令大全,网络工程师收藏!
- AI“偷家”到迪士尼插画师了,32张图学走画风!AI工程师:这同样是创作,别总拿维权说事
- 算法工程师的技术深度到底是什么?
- 作为网络工程师,你知道什么是VLAN 跳跃攻击吗?
- 网络工程师必知:三种防火墙链路检测技术:BFD、NQA、IP-link
- 前端工程师leetcode算法面试必备-二分搜索算法(上)_2023-03-15
- 微信工程师关于如何写好一篇技术文章的小Tips
- 反转!马斯克正在求被裁工程师复职,尤其是Android和iOS开发
- VMware招聘容器开发工程师
- JAVA高级工程师课程笔记整理——(二)JAVA基础详解编程语言
- Linux测试工程师:探寻技术之旅(linux测试工程师)
- Linux工程师:掌握Linux技术并运用之(linux工程师工作内容)
- 掌握Linux架构,成就技术工程师之路(linux架构工程师)
- Linux工程师发展之路:探索未来(linux工程师发展方向)
- 工程师招募Linux工程师,欢迎有经验的技术人才!(招聘linux)
- Linux运维工程师简历要点分享(linux运维工程师简历)
- Linux工程师必备:全面培训课程(linux工程师培训课程)
- 如何成为一名优秀的Linux维护工程师?(linux维护工程师)
- Linux软件工程师:引领技术前沿的精英人才(linux软件工程师简历)
- Linux软件工程师:让技术完美叠加(linux软件工程师)
- 高级 Linux 系统工程师:掌握更高端技术,成就更卓越职业生涯(高级linux系统工程师)
- 大朋工程师详解VR空间定位技术:灯塔激光定位技术在多人联机上具有优势