tcpdumpsniffer służący do śledzenia komunikacji w sieciach komputerowych. Pozwala na pełne lub selektywne przechwytywanie, wyświetlanie i zapisywanie do pliku pakietów TCP/IP oraz innych protokołów transmitowanych lub odbieranych w sieci komputerowej do której podłączony jest komputer użytkownika. Autorami oryginalnej wersji są Van Jacobson, Craig Leres i Steven McCanne pracujący wówczas w Lawrence Berkeley Laboratory.

tcpdump
logo
ilustracja
Autor tcpdump.org
Pierwsze wydanie 1991
Aktualna wersja stabilna 4.99.5
(30 sierpnia 2024) [±]
Rodzaj analizator ruchu sieciowego
Licencja BSD
Strona internetowa

Tcpdump pracuje na większości platform uniksowych jak np. Linux, Solaris, BSD, Mac OS X, HP-UX i AIX. Na tych systemach tcpdump opiera się na bibliotece libpcap, której funkcja pcap_loop() odpowiedzialna jest za przechwytywanie pakietów a pcap_breakloop() terminację przechwytywania. Inne rutyny dodają warstwę zawierającą informacje o czasie przechwycenia[1]. Wersja przeniesiona na system Windows dostępna jest pod nazwą WinDump, i współpracuje z biblioteką WinPcap.

W większości systemów operacyjnych użytkownik musi mieć uprawnienia superużytkownika aby móc używać programu do odbierania danych z sieci, gdyż tylko w tym trybie możliwy jest dostęp do gniazd typu RAW.

Przykład użycia

edytuj

Po wpisaniu polecenia tcpdump wyświetlane są wszystkie otrzymane pakiety. Aby odfiltrować pakiety, można w cudzysłowie określić typ protokołu (arp, rarp, tcp, udp, ipx itp.), port (np. port 21, portrange 100-200), np.:

root@TEAM:/home/a# tcpdump 'tcp portrange 3000-5000'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:52:01.178363 IP xdsl-2581.lubin.dialog.net.pl.4858 > 192.168.0.17.41857: S 2934274754:2934274754(0) win 65535 <mss 1460,nop, nop,sackOK>
11:52:01.362946 IP mcast-62-eit.man.poznan.pl.3792 > 192.168.0.17.41857: S 4223811393:4223811393(0) win 65535 <mss 1460,nop, nop,sackOK>
11:52:04.033362 IP xdsl-2581.lubin.dialog.net.pl.4858 > 192.168.0.17.41857: S 2934274754:2934274754(0) win 65535 <mss 1460,nop, nop,sackOK>
11:52:04.279834 IP mcast-62-eit.man.poznan.pl.3792 > 192.168.0.17.41857: S 4223811393:4223811393(0) win 65535 <mss 1460,nop, nop,sackOK>
11:52:04.560306 IP aotm.npgo.pl.40000 > 192.168.0.17.3894: P 2678547069:2678547239(170) ack 889594676 win 65535
5 packets captured
12 packets received by filter
0 packets dropped by kernel
#tcpdump & ping wikipedia.org
05:25:44.622643 IP ai_k32 > rr.pmtpa.wikimedia.org: ICMP echo request, id 37720, seq 2, length 64
05:25:44.708387 IP rr.pmtpa.wikimedia.org > k26: ICMP echo reply, id 37720, seq 2, length 64
05:25:45.622624 IP ai_k32 > rr.pmtpa.wikimedia.org: ICMP echo request, id 37720, seq 3, length 64
05:25:45.708135 IP rr.pmtpa.wikimedia.org > k26: ICMP echo reply, id 37720, seq 3, length 64
  • jeden pakiet pingu przechwycony z opcją -X pokazującą w hex ładunek
# tcpdump -X
00:36:13.806266 IP ai_k32 > rr.pmtpa.wikimedia.org: ICMP echo request, id 345, seq 9, length 64
       0x0000: 4500 0054 0000 4000 4001 105f c0a8 014f E..T..@.@.._...O
       0x0010: d050 9802 0800 c4e5 0159 0009 1d1c f14b.P.......Y.....K
       0x0020: 2c4d 0c00 0809 0a0b 0c0d 0e0f 1011 1213, M..............
       0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!”#
       0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
       0x0050: 3435 45

Zastosowania

edytuj
  • śledzenie błędów aplikacji używających komunikacji sieciowej
  • analizowanie konfiguracji samej sieci np. trasowania
  • przechwytywanie komunikacji sieciowej innych użytkowników. Niektóre protokoły jak telnet lub HTTP przesyłają informacje w postaci niezaszyfrowanej. Użytkownik kontrolujący router lub bramę po drodze transmisji może użyć tcpdumpa aby przechwycić informacje jak np. login lub hasło.

Zobacz też

edytuj

Przypisy

edytuj
  1. A „Distributed Pcap” for; Remote Monitoring LANs & WANs
    (Design Notes for the SITA ACN device)
    Fulko Hew
    SITA INC Canada, Inc.
    Revised
    October 2, 2007.