Scapy - 如何嗅探数据包并将其作为封装数据发送

时间:2013-11-06 02:10:46

标签: python scapy

我需要做以下事情:

  • a)使用Scapy在eth0上嗅探()。这会给我一个scapy包.. 说X.
  • b)将X作为二进制数据存储到某个变量中...... Y.
  • c)使用zeromq IPC套接字将Y发送到另一个进程。我必须使用IPC, 不是tcp / udp。

代码:

def handler(x):
  x.show() #or do something .. 
  s = .. a zmq socket = ipc://myipcendpoint

  y = convert x to binary <== how to do this? 
  s.send(y) 


sniff(prn=handler, iface='eth0')

在另一个过程中:

while 1: 
  y = s.recv()
  x = recover scapy packet from y
  ... do something with x ... 

1 个答案:

答案 0 :(得分:1)

Scapy实现的str()表示应该足够你了。

y = str(x)

您可以让Scapy将其解析回接收端的正确数据包,如此 -

x = Ether(y)

来自Scapy doc。{/ p>的2nd code example in the Stacking-Layers部分