我想知道是什么命令/实用程序有进入的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源代码托pipe在Debian的站点上,也可以从SourceArchive.com获取
对于“purdy”显示,我偏爱一个名为“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列表。 你也可以把它指向一个文件,并定期对它进行一次sort -u
,以得到你的方式发送连接的唯一IP地址列表。
一旦你得到其他答案中提到的其中一个命令的输出,你可以使用“观察”工具来“实时”。 例如,“watch -n 5 ps”将每5秒(“-n”参数)执行命令“ps”。 用感兴趣的命令replace“ps”,你将得到“监视”。 或者,就像在另一个build议中那样,只是“开球”。