Сценарий описывает возможности по просмотру сетевого трафика, проходящего через присутствующие в системе сетевые интерфейсы.
Начальные условия: Командная строка суперпользователя после входа в систему, настроенные сетевой интерфейс и таблица маршрутизации.
1. Выведем все пакеты, проходящие через интерфейс eth0, с помощью команды tcpdump -i eth0 -l -n:
2. desktop ~ # tcpdump -i eth0 -l -n3. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode4. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes5. 14:37:23.929208 IP 192.168.0.204.32791 > 192.168.0.1.53: 40133+ A? ya.ru. (23)6. 14:37:23.931050 IP 192.168.0.1.53 > 192.168.0.204.32791: 40133- 1/0/0 A 213.180.204.8 (39)7. 14:37:23.932778 IP 192.168.0.204 > 213.180.204.8: ICMP echo request, id 12586, seq 1, length 648. 14:37:23.954412 IP 213.180.204.8 > 192.168.0.204: ICMP echo reply, id 12586, seq 1, length 649. 14:37:23.954784 IP 192.168.0.204.32791 > 192.168.0.1.53: 29723+ PTR? 8.204.180.213.in-addr.arpa. (44)10. 14:37:23.956530 IP 192.168.0.1.53 > 192.168.0.204.32791: 29723- 1/0/0 (63)...
Прервать выполнение команды можно нажатием Ctrl-C.
11. Используем фильтр по уалённому порту для просмотра всего трафика в сети, генерируемого данной машиной, tcpdump -i eth0 -l -n src host 192.168.0.204:
12. desktop ~ # tcpdump -i eth0 -l -n src host 192.168.0.20413. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode14. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes15. 14:43:02.492487 IP 192.168.0.204.32791 > 192.168.0.1.53: 13524+ AAAA? yandex.ru. (27)16. 14:43:02.520278 IP 192.168.0.204.32791 > 192.168.0.1.53: 12908+ AAAA? yandex.ru. (27)17. 14:43:02.522799 IP 192.168.0.204.32791 > 192.168.0.1.53: 48501+ A? yandex.ru. (27)18. 14:43:02.525069 IP 192.168.0.204.57521 > 1.0.0.0.80: S 1379873941:1379873941(0) win19. 5840 <mss 1460,sackOK,timestamp 2563967 0,nop,wscale 2>...
20. Условия можно объёдинять, например, посмотрим все обращения по протоколу http на хост ya.ru, tcpdump -i eth0 -l -n src host 192.168.0.204 and dst port 80:
21. desktop ~ # tcpdump -i eth0 -l -n src host 192.168.0.204 and dst port 8022. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode23. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes24. 14:49:39.015251 IP 192.168.0.204.38172 > 213.180.204.11.80: S 1789772982:1789772982(0)25. win 5840 <mss 1460,sackOK,timestamp 2663083 0,nop,wscale 2>26. 14:49:39.054551 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 851659167 win 584027. 14:49:39.056486 IP 192.168.0.204.38172 > 213.180.204.11.80: P 0:626(626) ack 1 win 584028. 14:49:39.598337 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 1411 win 846029. 14:49:39.604713 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 2821 win 1128030. 14:49:39.659811 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 4231 win 1410031. 14:49:39.784351 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 5641 win 1692032. 14:49:39.848824 IP 192.168.0.204.38172 > 213.180.204.11.80: . ack 7051 win 1974033. 14:49:39.966120 IP 192.168.0.204.38172 > 213.180.204.11.80: F 626:626(0) ack 8118 win 22560
В данном примере можно увидеть одно последовательное TCP-соединение.
34. С помощью параметров -X и -s можно просмотреть содержимое пакетов, tcpdump -i eth0 -l -n -X -s 2048 src host 192.168.0.204 and dst port 80: