Product SiteDocumentation Site

4.5. Мониторинг сети

Для отслеживания трафика используется утилита tcpdump, сканирующая сетевые интерфейсы и возвращающая информацию о проходящих через интерфейс пакетах. Вызов утилиты неразрывно связан с параметром -i <interface> для указания интерфейса, на котором будет проходить сканирование.
  1. С помощью команды мониторинга сети :new: tcpdump -i <interface> запустите на PC2 сканирование интерфейса eth1.
    [root@PC2 ~]# tcpdump -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    
  2. С помощью команды ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
    [root@PC1 ~]# ping -c1 10.0.12.2
    PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
    64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
    
    --- 10.0.12.2 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
    [root@PC1 ~]#
    
  3. Отключите мониторинг трафика с помощью Ctrl+C.
    [root@PC2 ~]# tcpdump -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    19:34:59.183275 IP 10.0.12.1 > PC2: ICMP echo request, id 5, seq 1, length 64
    19:34:59.183301 IP PC2 > 10.0.12.1: ICMP echo reply, id 5, seq 1, length 64
    19:35:04.320317 ARP, Request who-has PC2 tell 10.0.12.1, length 46
    19:35:04.320330 ARP, Reply PC2 is-at 08:00:27:ee:00:c5 (oui Unknown), length 28
    19:35:04.610697 ARP, Request who-has 10.0.12.1 tell PC2, length 28
    19:35:04.611626 ARP, Reply 10.0.12.1 is-at 08:00:27:04:e4:05 (oui Unknown), length 46
    ^C
    6 packets captured
    6 packets received by filter
    0 packets dropped by kernel
    [root@PC2 ~]#
    
    tcpdump перехватил 6 пакетов: пару запрос‑ответ ICMP от ping, а также две пары запрос‑ответов ARP для определения связи MAC‑адресов устройств и IP‑адресов.
    Полезным ключом tcpdump является -X, показывающий шестнадцатиричный код пакета, а также (по возможности) его ASCII‑расшифровку. Ключ полезен для отслеживания передаваемых в пакете данных.
  4. С помощью команды мониторинга сети запустите на PC2 сканирование интерфейса eth1 c выводом кода пакета.
    [root@PC2 ~]# tcpdump -X -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    
  5. С помощью команды ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
    [root@PC1 ~]# ping -c1 10.0.12.2
    PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
    64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
    
    --- 10.0.12.2 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
    [root@PC1 ~]#
    
  6. Отключите мониторинг трафика с помощью Ctrl+C.
    [root@PC2 ~]# tcpdump -X -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    19:39:18.001500 IP 10.0.12.1 > PC2: ICMP echo request, id 6, seq 1, length 64
           0x0000:  4500 0054 ce95 4000 4001 4011 0a00 0c01  E..T..@.@.@.....
           0x0010:  0a00 0c02 0800 8203 0006 0001 e577 e168  .............w.h
           0x0020:  0000 0000 ea41 0600 0000 0000 1011 1213  .....A..........
           0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
           0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233  $%&'()*+,-./0123
           0x0050:  3435 3637                                4567
    19:39:18.001545 IP PC2 > 10.0.12.1: ICMP echo reply, id 6, seq 1, length 64
           0x0000:  4500 0054 553d 0000 4001 f969 0a00 0c02  E..TU=..@..i....
           0x0010:  0a00 0c01 0000 8a03 0006 0001 e577 e168  .............w.h
           0x0020:  0000 0000 ea41 0600 0000 0000 1011 1213  .....A..........
           0x0030:  1415 1617 1819 1a1b 1c1d 1e1f 2021 2223  .............!"#
           0x0040:  2425 2627 2829 2a2b 2c2d 2e2f 3031 3233  $%&'()*+,-./0123
           0x0050:  3435 3637                                4567
    
    2 packets captured
    2 packets received by filter
    0 packets dropped by kernel
    [root@PC2 ~]#
    

    Примечание

    Заметьте, что ICMP‑пакеты несут одинаковое содержание — последовательные байты, стандарт ICMP‑сообщения ping.
    Ещё одним полезным ключом является -n, который убирает из описания перехваченных пакетов известные имена устройств, заменяя их на IP‑адреса.
  7. С помощью команды мониторинга сети запустите на PC2 сканирование интерфейса eth1 c выводом IP‑адресов.
    [root@PC2 ~]# tcpdump -n -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    
  8. С помощью команды ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
    [root@PC1 ~]# ping -c1 10.0.12.2
    PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
    64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
    --- 10.0.12.2 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
    [root@PC1 ~]#
    
  9. Отключите мониторинг трафика с помощью Ctrl+C.
    [root@PC2 ~]# tcpdump -n -i eth1
    tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    19:40:30.751100 IP 10.0.12.1 > 10.0.12.2: ICMP echo request, id 8, seq 1, length 64
    19:40:30.751127 IP 10.0.12.2 > 10.0.12.1: ICMP echo reply, id 8, seq 1, length 64
    2 packets captured
    2 packets received by filter
    0 packets dropped by kernel
    [root@PC2 ~]#
    
    Заметьте, что в предыдущих примерах получателем и источником выступал IP PC2, тогда как сейчас описывается явный IP-адрес.