写网络程序,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件.Ethereal自带许多协议的 decoder,但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改Ethereal的代码,再重新编译,相当的烦琐.对于一般的明文协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进行加密,诸如此类.要想破解,得要有一个可编程的抓包器.libpcap是一个不错的选择,但是对于抓包这样需要反复进行”试验->修改”这个过程的操作,c 语言显然不是明智的选择.Python提供了几个libpcapbind,http://monkey.org/~dugsong/pypcap/这里有一个最简单的。在windows平台上,你需要先安装winpcap,如果你已经安装了Ethereal,可以跳过这个步骤.非常好用
|