为什么 tcpdump 捕获到很多与我的 IP 无关的数据包? (森托斯 7)

为什么 tcpdump 捕获到很多与我的 IP 无关的数据包? (森托斯 7)

Tcpdump 运行者:

/usr/sbin/tcpdump -U -n -i eth0 icmp or tcp dst port 22 or tcp dst port

当我查看捕获的数据时,它显示:

132.132.211.221.40372 > 89.31.125.17.ssh: Flags [S], cksum 0xde63 (correct), seq 524121044, win 29200, length 0
146.136.44.207.4855 > 45.66.134.253.ssh: Flags [S], cksum 0x86a2 (correct), seq 1106964113, win 29200, length 0
46.228.217.79.64595 > 81.90.190.31.ssh: Flags [S], cksum 0xdf11 (correct), seq 4132328538, win 29200, length 0
109.89.72.226.19846 > 89.31.126.248.ssh: Flags [S], cksum 0xf42c (correct), seq 2627129631, win 29200, length 0
186.102.253.234.58270 > 45.146.123.96.ssh: Flags [S], cksum 0xc8a3 (correct), seq 3373229862, win 29200, length 0
139.204.89.135.64050 > 81.90.190.31.ssh: Flags [S], cksum 0x9afe (correct), seq 3997943153, win 29200, length 0
146.17.189.108.mbl-battd > 45.66.134.42.ssh: Flags [S], cksum 0xbf0e (correct), seq 1369840100, win 29200, length 0

所以,奇怪的是所有这些地址,无论是SCR还是DST都不是我的IP地址!这是否意味着有人正在使用我的主机作为“中继”来攻击其他人的 SSH?

让我在这里发布 iptables 的标尺和日志以供参考:

-P FORWARD DROP
-A FORWARD -p tcp -m tcp --dport 22 -j LOG --log-prefix "[forward_ssh] "
-A OUTPUT  -p tcp -m tcp --dport 22 -m state --state NEW -j LOG --log-uid --log-prefix  "[out_ssh_new] "
-A OUTPUT  -p tcp -m tcp --dport 22 -m state --state ESTABLISHED -j LOG --log-uid --log-prefix "[out_ssh_est] "
-A OUTPUT  -p tcp -m tcp --dport 22 -j DROP

日志如下所示,看来我的IP(194.156.xxx.xxx)正在攻击其他人....

Mar 15 08:56:35 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=2.59.135.116 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0
Mar 15 09:21:02 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=162.248.88.193 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0
Mar 15 10:52:45 oneserver kernel: [out_ssh_est] IN= OUT=eth0 SRC=194.156.xxx.xxx DST=172.106.16.136 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=443 DPT=22 WINDOW=64240 RES=0x00 ACK SYN URGP=0

答案1

Tcpdump 将侦听通过网络接口的所有数据包。以太网交换机就可以了最好的只传递发往您的 MAC 的数据包。一个非交换集线器,不会尝试,它会告诉你一切。

因此,您将收到局域网上的所有数据包。通常我们不会期望数据包来自如此不同的 IP 地址集。然而,在查找您的 IP 地址后,我们发现您位于属于 Petersburg Internet Network ltd 的数据中心。他们路由互联网流量吗?此流量是否会经过您的机器。

请寻找一个更安全的地方进行训练。

答案2

Tcpdump 将您的网络接口置于“混杂”模式。如果网络上有集线器,它会将所有数据包发送到所有接口。然后接口检查 MAC 号并查看数据包是否发往该接口。如果是,则将其转发到接收软件。如果不是,则丢弃该数据包。

然而,在混杂模式下,接口可以接收所有数据包。例如,使用 tcpdump 显示它。

如果您有交换机而不是集线器,则交换机应该过滤数据包并仅向您发送真正适合您的数据包。对于组播流量来说,场景更加复杂,这里不再解释。

网络设备不根据IP号码而是根据MAC号码来路由流量。

请查看此处了解更多信息


在您的评论之后是一些附加信息:

您想知道 iptables 生成什么日志。一件事是您仅显示已建立连接的日志。建立连接后,还应该有相关日志。这意味着该连接已经建立并且正在运行。尝试找出哪些进程使用这些连接,并具有lsof实用性。当您有了进程名称后,您应该能够识别连接是否合法。

如果您怀疑您的计算机可能受到损害,我建议您进行一些检查。查看是否安装了您无法识别的东西。对于使用RPM/YUM包的RedHat/CentOS/Fedora/Oracle linux,只需几个命令即可轻松检查:

对于其他发行版,请自行查找如何检查安装完整性。

相关内容