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

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

16

5 Відповіді

Use 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

The pktstat source code is hosted on Debian's site, or you can get it from SourceArchive.com

23
додано
Також, якщо ви отримаєте pktstat: pcap_lookupdev: не знайдено відповідного пристрою під час виконання цього завдання, вам може знадобитися root.
додано Автор madmaze, джерело
Дивовижний. Точно те, що я шукав. Цілком очевидно, але щоб завершити відповідь, ви можете додати, що її можна встановити просто 'apt-get install pkstat'.
додано Автор alfish, джерело

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

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

10
додано
IPtraf - найкращий інструмент, який я бачив з точки зору зручності та функціональності - очевидно, ви все ще можете скриптувати деякі матеріали, використовуючи стандартні інструменти, такі як netstat і ngrep і tcpdump, але чому ви хочете винаходити колесо :)
додано Автор ubik, джерело
Для повноти iftop схожий на iptraf - додаток, заснований на ncurses, який використовує гістограми, а не тільки номери - для відображення використання пропускної здатності на IP-адресу. За допомогою опції -P ви можете отримати його на кожний порт.
додано Автор James, джерело

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-адрес, в реальному часі. Можна також трійник до файлу і періодично робити його sort -u , щоб отримати список унікальних IP-адрес, які надсилали з'єднання вашим шляхом.

7
додано

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

tcpdump -ni any port 2222
1
додано

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

0
додано