Я пытаюсь записать файл pcap, как только я отфильтрую весь трафик NBNS. Это дает мне синтаксическую ошибку.Запись в pcap с scapy
from scapy.all import *
Capture = raw_input("Enter file path of pcap file: ")
pcap = rdpcap(Capture)
ports=137
filtered = (pkt for pkt in Capture if
(UDP in pkt and
(pkt[UDP].sport in str(ports)))
wrpcap("filtered.pcap",filtered)
Я нашел ответ на ошибку синтаксиса был просто отсутствует скобка в конце ...str(ports))))
, но теперь у меня есть другая ошибка.
File "receiver2.py", line 18, in <module>
wrpcap("filtered.pcap",filtered)
File "/usr/lib/python2.7/dist-packages/scapy/utils.py",
line 470, in wrpcap
PcapWriter(filename, *args, **kargs).write(pkt)
File "/usr/lib/python2.7/dist-packages/scapy/utils.py", line 652, in write
for p in pkt:
File "receiver2.py", line 13, in <genexpr>
(UDP in pkt and
TypeError: 'in <string>' requires string as left operand, not Packet_metaclass
Спасибо! Это помогло мне написать пользовательские пакеты в pcap, как это: 'packet = Ether()/IP (src = src, dst = dst)/TCP (sport = sport, dport = dport, flags = 'A')/payload' (newline) 'wrpcap (out_fname, пакет, append = True)' – Luc