twisted - 从/向代理打印IP数据报

时间:2012-05-22 15:22:57

标签: python twisted

我有一个twisted代理:Python Twisted proxy - how to intercept packets

它打印HTTP数据,我还想截取并检查原始IP数据报。如何挂钩IP数据包的回调?

http://twistedmatrix.com/documents/11.0.0/api/twisted.pair.ip.IPProtocol.html

2 个答案:

答案 0 :(得分:1)

Twisted不包括对IP级别的全面支持。正如您所发现的那样,对解析IP数据报有一些支持,但没有内置支持来连接平台支持以发送或接收这些数据报。

您可能需要查看scapy

答案 1 :(得分:1)

Twisted没有内置的友好方式来挂接原始IP套接字(SOCK_RAW)上的侦听器。这有几个原因:

  • 使用SOCK_RAW可能很棘手,它可以以非显而易见的方式工作;
  • 在大多数环境中,使用此类套接字需要提升权限;
  • 并且您通过原始套接字实际获得的数据包在操作系统之间存在很大差异(例如,即使您是root用户,也不会通过原始套接字在* BSD / Darwin上获得任何原始TCP协议IP数据包)。

一般来说,以远程可移植的方式捕获原始数据报的最佳方法是使用libpcap。 Here是一个链接,似乎以合理智能的方式将pcap和Twisted结合在一起;这可能有所帮助。