Tshark - zrzut pakietów z danymi

Tshark jest to analizator ruchu sieciowego, pozwala na przechwytywanie pakietów krążących w lokalnej sieci. Jest to wersja Wiresharka pozbawiona wygodnego GUI.

W ostatnim czasie potrzebowałem wydobyć interesujące mnie informacje ze zrzuconych danych pakietowych do plików wygenerowanych przez tsharka. Ze względu na fakt, iż nie były to czyste dane lecz też nagłówki protokołów sieciowych oraz ramki musiałem te dane odpowiednio wyłuskać.
Napisałem do tego celu skrypt w pythonie, który interesujące mnie pakiety wydobył z pliku i zapisał na wyjściu. Widać po kodzie, że pisany był w pewien sposób pod protokół gadu-gadu.


Poniżej przedstawiam przykładowy fragment danych przechwyconych przez tsharka.

  1. Transmission Control Protocol, Src Port: 6348 (6348), Dst Port: 3Com-nsd (1742), Seq: 96, Ack: 28, Len: 35
  2.     Source port: 6348 (6348)
  3.     Destination port: 3Com-nsd (1742)
  4.     Sequence number: 96    (relative sequence number)
  5.     [Next sequence number: 131    (relative sequence number)]
  6.     Acknowledgement number: 28    (relative ack number)
  7.     Header length: 20 bytes
  8.     Flags: 0x18 (PSH, ACK)
  9.         0... .... = Congestion Window Reduced (CWR): Not set
  10.         .0.. .... = ECN-Echo: Not set
  11.         ..0. .... = Urgent: Not set
  12.         ...1 .... = Acknowledgment: Set
  13.         .... 1... = Push: Set
  14.         .... .0.. = Reset: Not set
  15.         .... ..0. = Syn: Not set
  16.         .... ...0 = Fin: Not set
  17.     Window size: 65250
  18.     Checksum: 0x14eb [correct]
  19.         [Good Checksum: True]
  20.         [Bad Checksum: False]
  21.     [SEQ/ACK analysis]
  22.         [TCP Analysis Flags]
  23.             [This frame is a (suspected) out-of-order segment]
  24. Data (35 bytes)
radek@:~/# ./extract.py
extract.py <dumped_file> <protocol> <out_file>

Analogicznie do powyższego schematu na wejściu do skryptu podajemy nazwę pliku ze zrzuconymi pakietami, protokół który nas interesuje oraz plik wyjściowy.

Protokołem może być dla przykładu gadugadu lub też numer portu. Przykładowo:

radek@:~/# ./extract.py dumped.dmp gadugadu out.dmp

Skrypt do pobrania poniżej.

extract.py

0 Responses to “Tshark - zrzut pakietów z danymi”


  1. No Comments

Leave a Reply






O mnie

  • Programista PHP
  • Zwolennik Open Source
  • Użytkownik Linuksa (Debian)
  • Capoerista
  • Miłośnik Anime
  • Maniak optymalizacji i wydajności

Kategorie