Як бачити вхідні IP-адреси в Linux?


21

Мені цікаво, що таке команда / утиліта, щоб мати в режимі реального часу перегляд вхідних IP-адрес на мій сервер, в ідеалі разом з портом і підключеним.

Відповіді:


25

Використовуйте pktstat -n

interface: eth0
bps

   bps    % desc
 162.3   0% arp
 286.5   0% llc 802.1d -> 802.1d
 544.3   1% tcp 172.16.1.5:22 <-> 172.16.1.95:8074
 34.0k  87% udp 172.16.1.1:514 <-> 172.16.1.5:514
 350.1   0% udp 172.16.1.5:24330 <-> 209.18.47.62:53
 329.4   0% udp 172.16.1.5:34870 <-> 209.18.47.62:53
 388.3   0% udp 172.16.1.5:4470 <-> 209.18.47.62:53
 407.4   1% udp 172.16.1.5:47008 <-> 209.18.47.62:53
 741.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:43289
 663.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:44589
 647.7   1% udp 172.16.1.5:53 <-> 172.16.1.74:58223
 128.9   0% udp 172.16.1.74:5353 <-> 224.0.0.251:5353
 160.7   0% udp6 fe80::21c:bfff:fecf:a798,5353 <-> ff02::fb,5353

Джерело pktstat код розміщений на сайті Debian, або ви можете отримати його від SourceArchive.com


1
Дивовижний. Саме те, що я шукав. Цілком очевидно, але для завершення відповіді ви можете додати, що її можна встановити просто за допомогою "apt-get install pkstat".
alfish

Крім того, якщо ви отримуєте це pktstat: pcap_lookupdev: no suitable device foundпід час запуску цього, вам може знадобитися root.
Тім Малоун

10

Щодо дисплея "purdy", я є частиною інструменту під назвою "iptraf", який буде робити саме те, що ви згадуєте, а також за інтерфейсом та за агрегатами портів.

Для основних інструментів Linux надійний netstat зробить трюк ...


1
IPtraf - найкращий інструмент, який я бачив з точки зору зручності використання та функціональності - очевидно, ви все ще можете скриптувати деякі речі, використовуючи стандартні інструменти, такі як netstat, ngrep і tcpdump, але чому ви хочете винаходити колесо :)
gyre

Для повноти iftop схожий на iptraf - додаток на основі ncurses, який використовує гістограми, а не просто числа - для відображення використання пропускної здатності на IP-адресу. З опцією -P ви можете отримати її також за порт.
gsreynolds

7

A tcpdumpпоказав би вам це; якщо ви просто хотіли список IP-адрес, ви можете фільтрувати SYN-пакети і виводити лише вихідну IP-адресу. Щось на зразок:

tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'

Ви отримаєте список IP-адрес у режимі реального часу. Ви також можете teeце зробити у файлі та періодично робити sort -uйого, щоб отримати список унікальних IP-адрес, які надіслали з'єднання на ваш шлях.


3

Ось як побачити весь трафік, що надходить до порту 2222:

tcpdump -ni any port 2222

0

Як тільки ви отримаєте вихід однієї з команд, згаданих в інших відповідях, ви можете скористатися інструментом "watch", щоб мати "реального часу". Наприклад, "watch -n 5 ps" виконуватиме команду "ps" кожні 5 секунд (аргумент "-n"). Замініть "ps" на цікаву команду, і ви отримаєте "моніторинг". Або просто "трійник" у файлі, як в іншій пропозиції.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.