Я новичок в использовании вызовов подпроцесса. Пожалуйста, помогите мне в выяснении проблемы в следующем сценарии.Имя файла Слишком длинная ошибка при чтении файла pcap с использованием subprocess.call
Я пытаюсь написать новый файл PCAP (filter1.pcap), который будет содержать только пакеты с определенного IP-адреса (ipadd) из большого набора пакетов из различных IP-адресов, содержащихся в файле больше PCAP (superset.pcap)
ошибка: OSError: [Errno 36] имя файла слишком длинное
код выглядит следующим образом:
from subprocess import *
pcapfile = rdpcap("superset.pcap")
ipadd = "192.168.1.1"
fileout = "filter1.pcap"
command = "sudo tcpdump -w %s -r %s src %s" %(fileout,pcapfile,ipadd)
subprocess.call([command])
BTW команда ниже в Linux работает отлично:
sudo tcpdump -w filter1.pcap -r superset.pcap src 192.168.1.1
Любая помощь будет большой!
Спасибо, CKS
Попробуйте изменить pcapfile = rdpcap («superset.pcap») в PCAP = «superset.pcap» Похоже, вы открываете файл с scapy первым, а затем подачу выходного сигнала к ТСРйитр, который подведет , –
Спасибо, Джефф. Да, это была проблема! – CKS3976