Având în vedere a .pcap
(sau similar), aș dori să selectez o conexiune TCP și să arunc ambele fluxuri de date ale aplicației (cel din celălalt egal și celălalt Două celălalt peer) în două fișiere separate de pe disc.
Să presupunem că am un .pcap
fișier care, printre altele, știu că conține un flux TCP complet (de la SYN la final FIN+ACK/RST) al unei conexiuni HTTP/1.1 text simplu. Aș dori să am două fișiere rezultate cu conținut. ie. un fișier are
GET / HTTP/1.1\r\n
gazdă: foobar.com\r\n
\r\n
iar celălalt dosar are
HTTP/1.1 200 ok\r\n
lungimea conținutului: ...\r\n
... \r\n
\r\n
<html>...</html>
Și vreau ca acesta să fie exact traficul de date aplicației care ar fi fost văzut/trimis în spațiul utilizatorului (de la citit
/scrie
/trimite/
recv`/...). Ceea ce vreau să fac cu asta este să arunc ceva trafic și să-l folosesc pentru a-mi testa analizatorii pentru un anumit protocol de rețea. Analizatorul ar trebui să fie capabil să citească unul dintre acele fișiere și să încerce să analizeze fluxul de date.
Cum ar putea arăta un astfel de instrument de linie de comandă? Nu sunt sigur dacă acest lucru este foarte util, dar m-am gândit că ar putea clarifica ceea ce caut dacă aș da și un exemplu de utilizare a unui instrument imaginar care poate face acest lucru.
Să numim instrumentul imaginar (acesta este ceea ce caut) tcp-stream-extract
. Aș vrea să-l numesc cu ceva de genul
### exemplu de utilizare imaginară a instrumentului pe care aș dori să-l găsesc :)
# dump de la 12345 la 23456
tcp-stream-extract \
-i my-captured-packets.pcap
-s 127.0.0.1:12345 \ # adresa sursă 127.0.0.1:12345
-d 127.0.0.1:23456 \ # adresa de destinație 127.0.0.1:23456
-t '2021-01-28 09:12:00Z' \ # conexiunea TCP era în viață la acel moment
-w de la-port-12345-la-port-23456
# dump de la 23456 la 12345
tcp-stream-extract \
-i my-captured-packets.pcap
-s 127.0.0.1:23456 \ # adresa sursă 127.0.0.1:12345
-d 127.0.0.1:12345 \ # adresa de destinație 127.0.0.1:23456
-t '2021-01-28 09:12:00Z' \ # conexiunea TCP era la acel moment
-w de la-port-23456-la-port-12345