Promotion - multiply by 2 paid period!
TCPDUMP - как правильно использовать | Well-Web - твой провайдер хостинга!
- 01.01.2023
- 0
- admin
Данная утилита есть практически в любом дистрибутиве Linux. Она позволяет перехватывать все пакеты трафика и сохранять их в файл, для дальнейшего анализа. Для чтения файлов TCPDUMP так же используют ПО Wireshark. В данной статье мы рассмотрим только примеры практического применения, которые в той или иной степени пригодились и показались нам полезными.
1. Перехват всех пакетов на определенном интерфейсе
Данная команда позволяет, просмотреть все пакеты определенного сетевого интерфейса:
$ tcpdump -i eth1 14:59:26.608728 IP xx.domain.net.52497 > valh4.net.ssh: . ack 540 win 16554 14:59:26.610602 IP resolver.net.domain > valh4.net.24151: 4278 1/0/0 (73) 14:59:26.611262 IP valh4.net.38527 > resolver.net.domain: 26364+ PTR? 192.168.104.10.in-addr.arpa. (45)
В данном случае мы видим все пакеты на интерфейсе eth1
2. Перехват определенного кол-ва пакетов
Если Вы запустили команду tcpdump – то она будет анализировать пакеты без остановки, пока Вы ее не остановите в ручном режиме. При большом трафике это доставляет неудобства. Здесь нам придет на помощь аргумент -c:
$ tcpdump -c 2 -i eth0 listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 14:38:38.184913 IP valh4.net.ssh > yy.domain.net.11006: P 1457255642:1457255758(116) ack 1561463966 win 63652 14:38:38.690919 IP valh4.net.ssh > yy.domain.net.11006: P 116:232(116) ack 1 win 63652 2 packets captured 13 packets received by filter 0 packets dropped by kernel
Данная команда нам отобразила 2 пакета с интерфейса eth0
3. Перехват пакетов и запись данных в файл
Это позволит записать лог, и после уже выполнить его анализ. На помощь нам придет в данном случае аргумент -w:
$ tcpdump -w test_wellweb.pcap -i eth0 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 32 packets captured 32 packets received by filter 0 packets dropped by kernel
Расширение файла должно быть pcap. Данная команда запишет данные в файл – test_wellweb.pcap
4. Чтение дампов tcpdump в консоли
Если возникла необходимость просмотра данных записанных в файл в консоли, нам придет на помощь аргумент -r:
$tcpdump -tttt -r data.pcap 2010-08-22 21:35:26.571793 00:50:56:9c:69:38 (oui Unknown) > Broadcast, ethertype Unknown (0xcafe), length 74: 0x0000: 0200 000a ffff 0000 ffff 0c00 3c00 0000 ............<... 0x0010: 0000 0000 0100 0080 3e9e 2900 0000 0000 ........>.)..... 0x0020: 0000 0000 ffff ffff ad00 996b 0600 0050 ...........k...P 0x0030: 569c 6938 0000 0000 8e07 0000 V.i8........ 2010-08-22 21:35:26.571797 IP valh4.net.ssh > zz.domain.net.50570: P 800464396:800464448(52) ack 203316566 win 71 2010-08-22 21:35:26.571800 IP valh4.net.ssh > zz.domain.net.50570: P 52:168(116) ack 1 win 71 2010-08-22 21:35:26.584865 IP valh5.net.ssh > 11.154.12.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC
5. Просмотр IP адресов, с помощью TCPDUMP
По умолчанию утилита отображает домены адресов в сети. Если Вам нужно видеть IP адреса, Вам поможет аргумент -n:
$ tcpdump -n -i eth0 15:01:35.170763 IP 10.0.19.121.52497 > 11.154.12.121.ssh: P 105:157(52) ack 18060 win 16549 15:01:35.170776 IP 11.154.12.121.ssh > 10.0.19.121.52497: P 23988:24136(148) ack 157 win 113 15:01:35.170894 IP 11.154.12.121.ssh > 10.0.19.121.52497: P 24136:24380(244) ack 157 win 113
6. Запись статистики времени пакетов
Что бы отображалось время, в который шел определенный пакет нужно добавить аргумент -tttt:
$ tcpdump -n -tttt -i eth0 2010-08-22 15:10:39.162830 IP 10.0.19.121.52497 > 11.154.12.121.ssh: . ack 49800 win 16390 2010-08-22 15:10:39.162833 IP 10.0.19.121.52497 > 11.154.12.121.ssh: . ack 50288 win 16660 2010-08-22 15:10:39.162867 IP 10.0.19.121.52497 > 11.154.12.121.ssh: . ack 50584 win 16586
7. Просмотр трафика определенного протокола
Вы можете просматривать трафик по определенному протоколу, например arp, tcp, udp:
tcpdump -i eth0 arp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 19:41:52.809642 arp who-has valh5.lell.net tell valh9.net 19:41:52.863689 arp who-has 11.154.12.1 tell valh6.net 19:41:53.024769 arp who-has 11.154.12.1 tell valh7.net
8. Просмотр пакетов на определенном порту
Если Вам нужно просмотреть статистику пакетов на определенном порту, нужно использовать команду:
$ tcpdump -i eth0 port 22 19:44:44.934459 IP valh4.net.ssh > zz.domain.innetbcp.net.63897: P 18932:19096(164) ack 105 win 71 19:44:44.934533 IP valh4.net.ssh > zz.domain.innetbcp.net.63897: P 19096:19260(164) ack 105 win 71 19:44:44.934612 IP valh4.net.ssh > zz.domain.innetbcp.net.63897: P 19260:19424(164) ack 105 win 71
9. Перехват пакетов для определенного IP
Если Вам нужно сделать анализ файлов для определенного IP и порта, то следует использовать команду:
$ tcpdump -w test_wellweb.pcap -i eth0 dst 10.181.140.216 and port 22
10. Записывать пакеты, размера больше чем …
Например нам нужно записать только большие запросы объемом более 1024 байт. Нам поможет команда:
tcpdump -w test_wellweb.pcap greater 1024
Если Вы являетесь нашим клиентом и Вам нужна помощь – напишите нам в тикет, мы с радостью Вам поможем.
WELL-WEB 2023