Scapy - Как прослушать пакет и отправить его в виде инкапсулированных данных
Мне нужно сделать следующее:
- а) Используйте Scapy, чтобы понюхать () на eth0. Это принесет мне отвратительный пакет.. скажем, Х.
- б) Хранить 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 ответ
Решение
str()
Представление, которое реализует Scapy, должно быть достаточно для вас.
y = str(x)
Вы можете сделать так, чтобы Scapy проанализировал его обратно в соответствующий пакет на принимающей стороне следующим образом:
x = Ether(y)
Из второго примера кода в разделе Stacking-Layers документа Scapy.