2006年11月12日 星期日 17:35
想使用pycap写抓包和发包的程序 不过文档和例子都太少了 用过的高手们发些文档和例子上来吧 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20061112/ec6c3506/attachment.html
2006年11月12日 星期日 23:10
我也有兴趣…… 2006/11/12, hijack9 <hijack9在gmail.com>: > > 想使用pycap写抓包和发包的程序 不过文档和例子都太少了 > 用过的高手们发些文档和例子上来吧 > > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20061112/d8844ffd/attachment-0001.html
2006年11月13日 星期一 08:12
pypcap还是比较友好的,比pcapy要好用的多。主要的使用流程就是先定义一个pcap对象,然后设置监听过滤器,然后就是对pcap对象使用类似词典的取值方法循环的取出值就可以了。取出的对象是一个Python时间(浮点数)和buffer对象的对(tuple),就是接收到数据包的时间和数据包对象。pypcap主页上的例子已经很详尽了。而且一般来说使用pypcap需要配合dpkt使用。dpkt是负责解包以太网数据包用的,还支持很多高层协议。 下面的例子比较经典,是以前一位兄弟写的。我的很多代码没有在现在的机器上,改日再说。 import dpkt, pcap pc = pcap.pcap() pc.setfilter('tcp') for ts, pkt in pc: p = dpkt.ethernet.Ethernet(pkt) if p.data.__class__.__name__ == 'IP': ip = '%d.%d.%d.%d' % tuple(map(ord, list(p.data.dst))) data = p.data.data if data.__class__.__name__ == 'TCP': if data.dport == 80 and ip == '192.168.2.50': print data.data 这个例子中不仅仅可以解包,还可以解出IP地址。 pypcap抓取的包都是以太网包,最大1518字节,最小64字节。而且仅仅是理论上讲最小64字节。但是我实际测试发现64字节以下而且有效的数据包也很常见。而在以往的局域网通信定义中,64字节以下的数据包是无效的冲突包。当然,也有可能是我的错误。 关于dpkt,他的解包速度很慢,优势仅仅在于其支持的数据包格式比较多。我当时用过一段时间以后就不用了,而是自己编了一套可以解包ICMP、IP、TCP、HTTP的解包模块。 另外dpkt还有一个很奇怪的问题,每次导入的时候时间都非常的长,以致于一些很好的电脑都需要3-5秒钟才可以导入完成,这段时间也便没有响应。这并不是首次导入重新编译成字节码的原因,而是每次导入都会发生,很恼火。 有兴趣可以交流一下,我用pypcap写过一些东西。
2006年11月13日 星期一 09:48
请问为什么我装了WinPcap_3_1.exe和pcap-1.1.win32-py2.4.exe之后还是不行呢,import 时可以找到pcap模块,但是找不到dpkt模块? 2006/11/13, gashero <harry.python在gmail.com>: > > > pypcap还是比较友好的,比pcapy要好用的多。主要的使用流程就是先定义一个pcap对象,然后设置监听过滤器,然后就是对pcap对象使用类似词典的取值方法循环的取出值就可以了。取出的对象是一个Python时间(浮点数)和buffer对象的对(tuple),就是接收到数据包的时间和数据包对象。pypcap主页上的例子已经很详尽了。而且一般来说使用pypcap需要配合dpkt使用。dpkt是负责解包以太网数据包用的,还支持很多高层协议。 > 下面的例子比较经典,是以前一位兄弟写的。我的很多代码没有在现在的机器上,改日再说。 > > import dpkt, pcap > pc = pcap.pcap() > pc.setfilter('tcp') > for ts, pkt in pc: > p = dpkt.ethernet.Ethernet(pkt) > if p.data.__class__.__name__ == 'IP': > ip = '%d.%d.%d.%d' % tuple(map(ord, list(p.data.dst))) > data = p.data.data > if data.__class__.__name__ == 'TCP': > if data.dport == 80 and ip == '192.168.2.50': > print data.data > > 这个例子中不仅仅可以解包,还可以解出IP地址。 > > > pypcap抓取的包都是以太网包,最大1518字节,最小64字节。而且仅仅是理论上讲最小64字节。但是我实际测试发现64字节以下而且有效的数据包也很常见。而在以往的局域网通信定义中,64字节以下的数据包是无效的冲突包。当然,也有可能是我的错误。 > > > 关于dpkt,他的解包速度很慢,优势仅仅在于其支持的数据包格式比较多。我当时用过一段时间以后就不用了,而是自己编了一套可以解包ICMP、IP、TCP、HTTP的解包模块。 > > 另外dpkt还有一个很奇怪的问题,每次导入的时候时间都非常的长,以致于一些很好的电脑都需要3-5秒钟才可以导入完成,这段时间也便没有响应。这并不是首次导入重新编译成字节码的原因,而是每次导入都会发生,很恼火。 > > 有兴趣可以交流一下,我用pypcap写过一些东西。 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://python.cn/pipermail/python-chinese/attachments/20061113/48dc0353/attachment-0001.html
2006年11月13日 星期一 10:26
dpkt模块需要另外安装的,与pypcap是同一个网站上的,好像是什么monkey的网站。
2006年11月13日 星期一 13:29
2006/11/13, gashero <harry.python at gmail.com>: > > > 另外dpkt还有一个很奇怪的问题,每次导入的时候时间都非常的长,以致于一些很好的电脑都需要3-5秒钟才可以导入完成,这段时间也便没有响应。这并不是首次导入重新编译成字节码的原因,而是每次导入都会发生,很恼火。 > 刚才我试了一下,导入速度不慢啊,在我这里比导入wx要快的多,是不是别的什么原因造成的? 我的系统是gentoo 2006.1,python是2.4.3,dpkt是1.6 -- I like Python & Linux. Blog: http://recordus.cublog.cn -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20061113/9b07ff37/attachment.htm
2006年11月13日 星期一 19:14
gashero兄,记得你曾经说过做过不少网络安全方面的开发,都是python开发的。介不介意多给点代码让兄弟们看看啦?另外要是想发送原始数据包,pypcap似乎没有接口,咋办类? On 11/13/06, gashero <harry.python at gmail.com> wrote: > > > pypcap还是比较友好的,比pcapy要好用的多。主要的使用流程就是先定义一个pcap对象,然后设置监听过滤器,然后就是对pcap对象使用类似词典的取值方法循环的取出值就可以了。取出的对象是一个Python时间(浮点数)和buffer对象的对(tuple),就是接收到数据包的时间和数据包对象。pypcap主页上的例子已经很详尽了。而且一般来说使用pypcap需要配合dpkt使用。dpkt是负责解包以太网数据包用的,还支持很多高层协议。 > 下面的例子比较经典,是以前一位兄弟写的。我的很多代码没有在现在的机器上,改日再说。 > > import dpkt, pcap > pc = pcap.pcap() > pc.setfilter('tcp') > for ts, pkt in pc: > p = dpkt.ethernet.Ethernet(pkt) > if p.data.__class__.__name__ == 'IP': > ip = '%d.%d.%d.%d' % tuple(map(ord, list(p.data.dst))) > data = p.data.data > if data.__class__.__name__ == 'TCP': > if data.dport == 80 and ip == '192.168.2.50': > print data.data > > 这个例子中不仅仅可以解包,还可以解出IP地址。 > > > pypcap抓取的包都是以太网包,最大1518字节,最小64字节。而且仅仅是理论上讲最小64字节。但是我实际测试发现64字节以下而且有效的数据包也很常见。而在以往的局域网通信定义中,64字节以下的数据包是无效的冲突包。当然,也有可能是我的错误。 > > > 关于dpkt,他的解包速度很慢,优势仅仅在于其支持的数据包格式比较多。我当时用过一段时间以后就不用了,而是自己编了一套可以解包ICMP、IP、TCP、HTTP的解包模块。 > > 另外dpkt还有一个很奇怪的问题,每次导入的时候时间都非常的长,以致于一些很好的电脑都需要3-5秒钟才可以导入完成,这段时间也便没有响应。这并不是首次导入重新编译成字节码的原因,而是每次导入都会发生,很恼火。 > > 有兴趣可以交流一下,我用pypcap写过一些东西。 > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20061113/42fa47e0/attachment.html
2006年11月14日 星期二 08:10
是的,做过一点,不过有些涉密,不好发布,我试着再写一遍看看。 pcap最早是在BSD下实现的,使用了一种内核级的包过滤机制,速度奇高,所以要最终部署的应用,推荐在BSD下面。在Windows下面的WinPcap只不过是拥有相同接口的一组应用罢了,速度很慢,不过我以前没什么文化,用的就是WinPcap。 UNIX类系统下的libpcap是没有发包函数的,仅仅用于监听。而WinPcap中有一个可发包的函数,但是pypcap中不能用。Winpcap还有一个封装,叫pcapy,几乎是完全封装了Pcap的C接口,不知那个里面有没有发包的函数。 如果确实需要,推荐用libdnet。发包之间的构造包的过程,推荐一下dpkt,当然libdnet中也有,只不过dpkt的包多一些,封装也很好。
2006年11月14日 星期二 15:47
谢谢啦 ! On 11/14/06, gashero <harry.python at gmail.com> wrote: > > 是的,做过一点,不过有些涉密,不好发布,我试着再写一遍看看。 > > pcap最早是在BSD下实现的,使用了一种内核级的包过滤机制,速度奇高,所以要最终部署的应用,推荐在BSD下面。在Windows下面的WinPcap只不过是拥有相同接口的一组应用罢了,速度很慢,不过我以前没什么文化,用的就是WinPcap。 > > UNIX类系统下的libpcap是没有发包函数的,仅仅用于监听。而WinPcap中有一个可发包的函数,但是pypcap中不能用。Winpcap还有一个封装,叫pcapy,几乎是完全封装了Pcap的C接口,不知那个里面有没有发包的函数。 > 如果确实需要,推荐用libdnet。发包之间的构造包的过程,推荐一下dpkt,当然libdnet中也有,只不过dpkt的包多一些,封装也很好。 > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20061114/711593b5/attachment.html
2006年11月15日 星期三 13:47
ÊÔÊÔscapy°É£¬¸Ð¾õ·â×°µÄ±È½ÏºÃ£¬»¹Ìṩһ¸ö½»»¥µÄ»·¾³¡£ On 11/14/06, hijack9 <hijack9在gmail.com> wrote: > > ллÀ² £¡ > > On 11/14/06, gashero <harry.python在gmail.com> wrote: > > > > Êǵģ¬×ö¹ýÒ»µã£¬²»¹ýÓÐЩÉæÃÜ£¬²»ºÃ·¢²¼£¬ÎÒÊÔ×ÅÔÙдһ±é¿´¿´¡£ > > pcap×îÔçÊÇÔÚBSDÏÂʵÏֵģ¬Ê¹ÓÃÁËÒ»ÖÖÄں˼¶µÄ°ü¹ýÂË»úÖÆ£¬ËÙ¶ÈÆæ¸ß£¬ËùÒÔÒª×îÖÕ²¿ÊðµÄÓ¦Óã¬ÍƼöÔÚBSDÏÂÃæ¡£ÔÚWindowsÏÂÃæµÄWinPcapÖ»²»¹ýÊÇÓµÓÐÏàͬ½Ó¿ÚµÄÒ»×éÓ¦ÓðÕÁË£¬ËٶȺÜÂý£¬²»¹ýÎÒÒÔǰûʲôÎÄ»¯£¬ÓõľÍÊÇWinPcap¡£ > > > > > > UNIXÀàϵͳϵÄlibpcapÊÇûÓз¢°üº¯ÊýµÄ£¬½ö½öÓÃÓÚ¼àÌý¡£¶øWinPcapÖÐÓÐÒ»¸ö¿É·¢°üµÄº¯Êý£¬µ«ÊÇpypcapÖв»ÄÜÓá£Winpcap»¹ÓÐÒ»¸ö·â×°£¬½Ðpcapy£¬¼¸ºõÊÇÍêÈ«·â×°ÁËPcapµÄC½Ó¿Ú£¬²»ÖªÄǸöÀïÃæÓÐûÓз¢°üµÄº¯Êý¡£ > > Èç¹ûȷʵÐèÒª£¬ÍƼöÓÃlibdnet¡£·¢°üÖ®¼äµÄ¹¹Ôì°üµÄ¹ý³Ì£¬ÍƼöÒ»ÏÂdpkt£¬µ±È»libdnetÖÐÒ²ÓУ¬Ö»²»¹ýdpktµÄ°ü¶àһЩ£¬·â×°Ò²ºÜºÃ¡£ > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061115/31e1ec1d/attachment-0001.htm
2006年11月15日 星期三 22:37
好东西!~~~ 真强大 scapy On 11/15/06, wangmm <kernellearn at gmail.com> wrote: > > 试试scapy吧,感觉封装的比较好,还提供一个交互的环境。 > > On 11/14/06, hijack9 <hijack9 at gmail.com> wrote: > > > 谢谢啦 ! > > > > On 11/14/06, gashero <harry.python at gmail.com > wrote: > > > > > > 是的,做过一点,不过有些涉密,不好发布,我试着再写一遍看看。 > > > pcap最早是在BSD下实现的,使用了一种内核级的包过滤机制,速度奇高,所以要最终部署的应用,推荐在BSD下面。在Windows下面的WinPcap只不过是拥有相同接口的一组应用罢了,速度很慢,不过我以前没什么文化,用的就是WinPcap。 > > > > > > > > > UNIX类系统下的libpcap是没有发包函数的,仅仅用于监听。而WinPcap中有一个可发包的函数,但是pypcap中不能用。Winpcap还有一个封装,叫pcapy,几乎是完全封装了Pcap的C接口,不知那个里面有没有发包的函数。 > > > > > > 如果确实需要,推荐用libdnet。发包之间的构造包的过程,推荐一下dpkt,当然libdnet中也有,只不过dpkt的包多一些,封装也很好。 > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to > > > python-chinese-request at lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request at lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20061115/bf34c520/attachment-0001.html
Zeuux © 2025
京ICP备05028076号