為什麼 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,只需幾個命令即可輕鬆檢查:

對於其他發行版,請自行尋找如何檢查安裝完整性。

相關內容