tcpdump
tcpdump – sniffer 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.
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
edytujPo 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
- nagłówki pingowania wikipedii
#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
# 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- sniffer
- Wireshark (dawniej Ethereal)
- Ettercap
- tryb promiscous
Przypisy
edytuj- ↑ 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.