如何在 Linux 中查看传入的 IP?

alf*_*ish 29 networking monitoring ip

我想知道实时查看我的服务器的传入 IP 的命令/实用程序是什么,最好是连同端口和连接。

Thi*_*his 34

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
Run Code Online (Sandbox Code Playgroud)

pktstat源代码托管在Debian的网站,或者你可以从它SourceArchive.com

  • 惊人的。正是我要找的。很明显,但要完成答案,您可能想补充一点,只需通过“apt-get install pkstat”即可安装它。 (2认同)

thi*_*ice 12

对于“purdy”显示,我偏爱一个名为“iptraf”的工具,该工具将执行您提到的操作以及每个接口和每个端口的聚合。

对于核心 Linux 工具,可靠的 netstat 可以解决问题...

  • 在可用性和功能方面,IPtraf 是我见过的最好的工具——显然你仍然可以使用标准工具编写一些东西,比如 netstat、ngrep 和 tcpdump,但你为什么要重新发明轮子:) (2认同)

wom*_*ble 8

Atcpdump会告诉你;如果您只想要一个 IP 列表,您可以过滤 SYN 数据包并只输出源 IP 地址。就像是:

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

会实时为您提供 IP 列表。您也tee可以将其写入文件,并定期对其执行操作sort -u以获取以您的方式发送连接的唯一 IP 地址列表。


Bas*_*asj 7

以下是查看所有到达端口 2222 的流量的方法:

tcpdump -ni any port 2222
Run Code Online (Sandbox Code Playgroud)