windows下wireshark本地回路抓包问题

  准备用python的tcp套接字,在网上找了tcp的客户端和服务器的例程,准备测试下效果,比较简单,很快就能通信了。

心血来潮,想用wireshark抓取本地回路的测试包,结果发现怎么都抓不到127.0.0.1的tcp数据包,不管怎么看,都没有127.0.0.1的数据包。呕血弄了一早晨,发现如果是tcp客户端向别的IP通信wireshark都能正常截获,如果是本机则没有一点动静能截获到。

  不甘心,网上搜搜本地回路用wireshark抓包的说法,才知道,原来是WindowsTCP/IP下没有本地回路的接口,所以不能用常用的windows抓包驱动获取到,比如winpcap,而俺的wireshark是基于winpcap的,所以肯定抓不到数据包了。linux下wireshark应该能看到一个名为“loopback interface”的接口。

(Windows TCP/IP stack does not implement a network loopback interface, as found in other TCP/IP stack like lo* interfaces in BSD systems.Thus, it is not possible to sniff network traffic using the typical Windows packet capture driver, WinPcap.)

参考网址:

http://wiki.wireshark.org/CaptureSetup/Loopback

http://www.hsc.fr/ressources/articles/win_net_srv/missing_loopback.html

当然也不是说windows下就别想抓到本地回路的包了,肯定有别的方法,网上貌似说commview可以抓到本地回路的包。

还有一个绿色,小巧(17K)的开源软件RawCap也可以抓到。(下载地址:http://www.netresec.com/?page=RawCap),将抓到的包保存为pcap后缀,用wireshark打开,就可以继续分析了。

 

 

别的方法比较麻烦,要改IP,路由之类的,过于麻烦,感觉不可取。

posted @ 2012-11-01 15:51 ijustwanttorun 阅读(...) 评论(...) 编辑 收藏