NETSTAT
netstat - утилита командной строки показывающая сетевые соединения, таблицы маршрутизации, состояние активных сокетов, статистику сетевых интерфейсов.
Информация и состоянии сетевых интерфейсов
# netstat -i Name Mtu Network Address Ipkts Ierrs Idrop Opkts Oerrs Coll em0 1500 <Link#1> 00:0c:29:0c:2d:e0 82158070 0 0 99475271 0 0 em0 1500 192.168.0.0 192.168.0.30 81867707 - - 99315513 - - plip0 1500 <Link#2> 0 0 0 0 0 0 lo0 16384 <Link#3> 643 0 0 643 0 0 lo0 16384 localhost ::1 0 - - 0 - - lo0 16384 fe80::1%lo0 fe80::1 0 - - 0 - - lo0 16384 your-net localhost 642 - - 643 - - pflog 33200 <Link#4> 0 0 0 6994 0 0 tun0 1500 <Link#5> 240722 0 0 203093 0 0
Информация и состоянии конкретного интерфейса
FreeBSD
# netstat -i I em0 Name Mtu Network Address Ipkts Ierrs Idrop Opkts Oerrs Coll em0 1500 <Link#1> 00:0c:29:0c:2d:e0 82211382 0 0 99549692 0 0 em0 1500 192.168.0.0 192.168.0.30 81920822 - - 99389915 - - em0 1500 fe80::20c:29f fe80::20c:29ff:fe 0 - - 0 - -
Cтатистика в реальном времени
(FreeBSD)
-w - время обновления в секундах
-d - число отброшенных пакетов
# netstat -i -I em0 -w 5 -d input (em0) output packets errs idrops bytes packets errs bytes colls drops 425 0 0 40686 573 0 669682 0 0 402 0 0 42463 591 0 674868 0 0 460 0 0 39361 696 0 735908 0 0 475 0 0 46151 690 0 733688 0 0 476 0 0 41157 683 0 742618 0 0 440 0 0 38594 679 0 765546 0 0 439 0 0 37968 666 0 677957 0 0 469 0 0 45009 711 0 761513 0 0 449 0 0 39520 623 0 607983 0 0
Просмотр состояния сокетов, как прослушиваемых, так и имеющих другое состояние
# netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 52 192.168.0.14.ssh 192.168.100.120.56823 ESTABLISHED tcp4 0 0 *.ssh *.* LISTEN tcp4 0 0 *.imap *.* LISTEN tcp4 0 0 localhost.sieve *.* LISTEN tcp4 0 0 *.http *.* LISTEN udp4 0 0 192.168.0.30.29666 *.* udp4 0 0 *.1900 *.* udp4 0 0 *.52264 *.* udp4 0 0 192.168.0.30.15628 192.168.0.200.5351
Просмотр только tcp-соединений
FreeBSD
# netstat -a -p tcp Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 52 192.168.0.14.ssh 192.168.100.120.56823 ESTABLISHED tcp4 0 0 *.ssh *.* LISTEN tcp4 0 0 *.imap *.* LISTEN tcp4 0 0 localhost.sieve *.* LISTEN
Linux
# netstat -at
Просмотр только udp-соединений
FreeBSD
# netstat -a -p udp Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) udp4 0 0 *.syslog *.* udp6 0 0 *.syslog *.*
Linux
# netstat -au
Просмотр всех сокетов в состоянии ожидания соединений (Listening)
FreeBSD
# netstat -a | egrep 'Proto|LISTEN'
Linux
# netstat -l
Статистика по каждому протоколу
# netstat -s
Можно увидеть количество подключений с разных ипишек
# netstat -ntu| awk '{print $5}'| cut -d: -f1 | sort|uniq -c | sort -nr
Показывать PID и имя программы
Linux
# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 52 mega.requ.ru:ssh 109x195x52x173.st:56847 ESTABLISHED 13661/0 tcp 0 0 mega.requ.ru:ssh ec2-52-11-37-97.u:43853 ESTABLISHED 17128/sshd: [accept
Во FreeBSD такой команды нет, пользуем lsof
# lsof dhclient 315 root txt VREG 0,82 92784 963417 /sbin/dhclient sshd 977 root txt VREG 0,82 297792 895116 /usr/sbin/sshd
Просмотр таблицы маршрутизации
# netstat -r Routing tables Internet: Destination Gateway Flags Netif Expire default 192.168.0.200 UGS em0