网络课程设计,用pcaplib编个小sniffer, 怎么弄都只能捕捉到自己的包或是网关传送传给自己的包(事实上,期间仅有一次捕到过一个非本机包,不过被视为异常现象忽略了),不是说将网卡设置成混杂模式就行了吗?莫非设置不成功?百般不得解后,发信给pcaplib的mail list了,结果老外是这样说的:
In a switched LAN you will only see broadcasts and packets destined to the
address(es) that are advertised behind your switch port. The sollution is:
a) use the "monitor" port on your switch
b) use a hub rather than a switch
c) overflow the forwarding table of your switch to turn it into a hub
The first being the preferred option, of course.
恍然,将网卡混杂模式并不截取网段上所有的数据包,它只是能截取所有路过这块网卡的数据包。“混杂模式能接收传输在网络上的每一个信息包”这种说法仅仅对于过去的hub式的局域网才成立。而对于现在广泛使用的交换式(switched)局域网,计算机的端口直接与交换机的端口相连,当然也通过交换机和同网段的其他计算机的端口相连,所以,它和共享式不同,只有在两个站点需要通信时,交换机才同时联通多个端口,平时是不联通的。而且,主机的数据包先是经过网关,如果是非广播的,将由交换机根据其上的目标地址是否已记录来决定包的走向。所以,不象共享式的,一般每个包都会经过所有同网段的主机,而仅仅是广播的或者目标地址为同网段的主机才会被截取。
原因明白了,但是正如老外所说,要想监听网段所有的包,最好是在交换机上配置一个监听端口,该端口目标地址设为你的主机地址,那样将所有经过该交换机的包复制一份再转发给你。这违反了本程序只在本机上执行的原则了。
照此推论,arp欺骗只是对arp协议进行欺骗。也就是说只能阻止你和新的ip地址进行通信,不能阻止你和已通信过,网关的mac地址已经被记录在DLC协议中的地址将进行通信,因为这时你没有用到arp协议了,只是用到ip协议。
嗯,下一次再被别人给用p2p终结者限制式,试一试:<
相关文章
- linux-rhel7配置网卡bond双网卡主备模式
- 【Win10】解决WLAN不见了,只有飞行模式开关,网络适配器只有以太网,无线网卡隐藏了,设备未连接问题
- 使用共享网卡的NAT模式配置VMware中的CentOS的上网功能
- 虚拟机去混杂模式与 vlan in vxlan 特性
- 有关Dispose,Finalize,GC.SupressFinalize函数-托管与非托管资源释放的模式
- Vmware虚拟机三种网卡模式详解
- 使用wifi网卡笔记3---工具wpa_supplicant(STA模式)
- HTML5的严格模式和混杂模式与!DOCTYPE的关系
- 网卡模式的切换
- [HUAWEI] Vlan的基础配置以及混杂模式的应用