Мне интересно, что это за команда / утилита для просмотра входящих IP-адресов на мой сервер в режиме реального времени, в идеале вместе с портом и подключенным.
Использовать 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
Что касается «пурпурного» отображения, я неравнодушен к инструменту под названием «iptraf», который будет делать именно то, что вы упомянули, а также для каждого интерфейса и агрегатов портов.
Для основных инструментов Linux надежный netstat сделает свое дело ...
А 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-адресов, с которых были отправлены соединения.
Вот как увидеть весь трафик, поступающий на порт 2222:
tcpdump -ni any port 2222
Ты можешь использовать last
чтобы понять, откуда приходят ваши связи:
last | tac
Результаты, теперь в хронологическом порядке, выглядят следующим образом:
root pts/0 xx.yy.zz.1 Fri Jan 31 09:13 - 13:25 (04:11)
root pts/1 master01-server.ne Fri Jan 31 09:36 still logged in
root pts/2 xx.yy.zz.1 Fri Jan 31 10:29 - 14:41 (04:11)
root pts/3 master01-server.ne Fri Jan 31 10:33 - 18:31 (07:58)
root pts/4 master01-server.ne Fri Jan 31 13:04 - 18:32 (05:28)
root pts/0 xx.yy.zz.1 Fri Jan 31 13:41 - 16:33 (02:52)
root pts/0 master01-server.ne Mon Feb 3 08:37 still logged in
Если вам нужна дополнительная информация, а ваш системный администратор больше не позволяет netstat
, используйте ss
:
ss | grep xx.zx.yz.161
tcp ESTAB 0 0 nnn.mm.oo.6:ssh xx.zx.yz.161:49046
tcp ESTAB 0 0 nnn.mm.oo.6:ssh xx.zx.yz.161:54800
Как только вы получите результат одной из команд, упомянутых в других ответах, вы можете использовать инструмент «смотреть» для «реального времени». Например, «watch -n 5 ps» будет выполнять команду «ps» каждые 5 секунд (аргумент «-n»). Замените «ps» на интересующую команду, и вы получите «мониторинг». Или просто "тройник" в файле, как в другом предложении.