如何记录尝试连接到端口的IP地址?


10

是否可以记录Linux Debian中试图连接或连接到端口“ 5901”的所有IP地址?

我怎样才能做到这一点?


1
为什么在问题发布后立即投下反对票?
Gihan Lasita

1
我没有对此表示反对,但是对SF表示反对的原因之一是这个问题“没有表现出任何研究成果”,很抱歉,您的没有。
MadHatter

Answers:


19

您可以使用iptables

iptables -I INPUT -p tcp -m tcp --dport 5901 -m state --state NEW  -j LOG --log-level 1 --log-prefix "New Connection "

这样会将新的TCP连接记录在端口5901上,/var/log/syslog/var/log/kernel.log像这样

12月12日07:52:48 u-10-04内核:[591690.935432]新连接IN = eth0 OUT = MAC = 00:0c:29:2e:78:f1:00:0c:29:eb:43:22: 08:00 SRC = 192.168.254.181 DST = 192.168.254.196 LEN = 60 TOS = 0x10 PREC = 0x00 TTL = 64 ID = 40815 DF PROTO = TCP SPT = 36972 DPT = 5901 WINDOW = 14600 RES = 0x00 SYN URGP = 0


12

如果是短期的,则应该这样做:

tcpdump -n -i eth0 -w file.cap "port 5901"

或者,您可以使用iptables的日志目标:

iptables -A INPUT -p tcp --dport 5901 -j LOG --log-prefix '** guests **'--log-level 4

这可能会淹没您的日志


-2

您可以使用netstat-v,-n,-t,-a选项

例如 netstat -anp | :8080 | grep ESTABLISHED | wc -l OR

root@user:/home# netstat -vatn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.174:8080      192.168.1.126:53021     ESTABLISHED
tcp        0      0 192.168.1.174:8080      192.168.1.126:32950     ESTABLISHED
tcp        0      0 192.168.1.174:8080      192.168.1.126:39634     ESTABLISHED
tcp        0      0 192.168.1.174:8080      192.168.1.126:59300     ESTABLISHED
tcp        0      0 192.168.1.174:8080      192.168.1.188:49551     ESTABLISHED
tcp        0      0 192.168.1.174:9090      192.168.1.126:37865     ESTABLISHED
tcp        0      0 192.168.1.174:9090      192.168.1.188:51411     ESTABLISHED
tcp        0      0 192.168.1.174:8080      192.168.1.126:50824     ESTABLISHED

由于该命令不会生成所有IP地址的日志,因此它不能解决问题。
卡巴斯德(Kasperd),2015年

另外,“ ESTABLISHED”仅在它们成功连接后才发生,因此这不会显示谁在尝试连接(例如,如果端口未打开,则它们都将失败)。
人间
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.