Как сделать tcpdump python
Написал вот такой код с помощью subprocess
def get_pcap():
global dump_process
if dump_process is not None:
dump_process.terminate()
time.sleep(5)
print("Dump finished", dump_process.returncode)
tcpdump_command = ["sudo", '-S', "tcpdump", '-w', path.join('dumps', 'dump.pcap')]
dump_process = subprocess.Popen(tcpdump_command, stdout=sys.stdout, stdin=subprocess.PIPE)
dump_process.stdin.write(SUDO_PASS.encode())
dump_process.stdin.close()
return path.join('dumps', 'dump.pcap')
Но процесс tcpdump заканчивается не правильно, и файл поврежден. Пытался делать и send_signal и terminate, оба ничего не дали. Как правильно закончить tcpdump? Может есть какие-то библиотеки для дампов?