tcpdump

tcpdump
ilustracja
Autortcpdump.org
Pierwsze wydanie1991
Aktualna wersja stabilna4.99.1 / 9 czerwca 2021; ponad 5 miesięcy temu[1]
Rodzajanalizator ruchu sieciowego
LicencjaBSD
Strona internetowa

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 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[2]. 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

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

  • ś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.

Przypisy

  1. TCPDUMP/LIBPCAP public repository - LATEST RELEASE (ang.). [dostęp 2021-09-15].
  2. 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

Zobacz też

Media użyte na tej stronie

Tcpdump 4.9.3 screenshot.png
Autor:

Software: The Tcpdump team

Screenshot:

Vulphere, Licencja: BSD
Screenshot of tcpdump 4.9.3