Networking

傳入數據包到伺服器

  • June 6, 2011

我為來自外部的數據包啟用了 iptables 日誌記錄

-A INPUT ! -s 192.168.218.0/24 -j LOG

現在我看到很多來自未知地址的傳入數據包

Jun  5 14:54:56 localhost kernel: [572504.888953] IN=eth1 OUT= MAC=... SRC=91.189.88.140 DST=192.168.218.101 LEN=1500 TOS=0x00 PREC=0x00 TTL=55 ID=49833 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK URGP=0 
Jun  5 14:54:56 localhost kernel: [572504.916382] IN=eth1 OUT= MAC=... SRC=91.189.88.140 DST=192.168.218.101 LEN=1500 TOS=0x00 PREC=0x00 TTL=55 ID=49834 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK URGP=0 
Jun  5 14:54:56 localhost kernel: [572504.916425] IN=eth1 OUT= MAC=... SRC=91.189.88.140 DST=192.168.218.101 LEN=1000 TOS=0x00 PREC=0x00 TTL=55 ID=49835 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK PSH URGP=0 
Jun  5 14:54:56 localhost kernel: [572505.051902] IN=eth1 OUT= MAC=... SRC=91.189.88.140 DST=192.168.218.101 LEN=1500 TOS=0x00 PREC=0x00 TTL=55 ID=49836 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK URGP=0 
Jun  5 14:54:56 localhost kernel: [572505.184949] IN=eth1 OUT= MAC=... SRC=91.189.88.140 DST=192.168.218.101 LEN=52 TOS=0x00 PREC=0x00 TTL=55 ID=49837 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK FIN URGP=0 
Jun  5 14:55:05 localhost kernel: [572513.916617] IN=eth1 OUT= MAC=... SRC=64.34.119.12 DST=192.168.218.101 LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=29430 DF PROTO=TCP SPT=80 DPT=45598 WINDOW=62 RES=0x00 ACK FIN URGP=0 
Jun  5 14:55:14 localhost kernel: [572523.037537] IN=eth1 OUT= MAC=... SRC=64.34.119.12 DST=192.168.218.101 LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=0 DF PROTO=TCP SPT=80 DPT=45598 WINDOW=62 RES=0x00 ACK URGP=0 
Jun  5 14:55:35 localhost kernel: [572544.026368] IN=eth1 OUT= MAC=... SRC=64.34.119.12 DST=192.168.218.101 LEN=60 TOS=0x00 PREC=0x00 TTL=52 ID=0 DF PROTO=TCP SPT=80 DPT=48218 WINDOW=5792 RES=0x00 ACK SYN URGP=0 
Jun  5 14:55:35 localhost kernel: [572544.149415] IN=eth1 OUT= MAC=... SRC=64.34.119.12 DST=192.168.218.101 LEN=451 TOS=0x00 PREC=0x00 TTL=52 ID=20682 DF PROTO=TCP SPT=80 DPT=48218 WINDOW=63 RES=0x00 ACK PSH URGP=0 
Jun  5 14:55:50 localhost kernel: [572559.133253] IN=eth1 OUT= MAC=... SRC=64.34.119.12 DST=192.168.218.101 LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=20683 DF PROTO=TCP SPT=80 DPT=48218 WINDOW=63 RES=0x00 ACK FIN URGP=0 

我已經禁用了路由器的所有埠轉發(ssh 22 和 openvpn 1194),所以我不明白這些數據包是如何到達 192.168.218.101 框(我的電腦稱為“localhost”)的。

我嘗試添加 tcpdump 來調查這些數據包

sudo tcpdump "(dst net 192.168.218.0/24 and ! src net 192.168.218.0/24)"

但它不返回單行輸出。

知道為什麼這些數據包會通過路由器嗎?路由器是家用 D-Link Dir-600,我已禁用埠轉發且沒有防火牆規則,DMZ 已禁用。

我可以執行什麼樣的診斷程序來了解這些數據包中的有效負載是什麼?為什麼 tcpdump 不顯示任何內容?

這些是作為對主機發起的 TCP 連接的響應而進入的數據包 - TCP 源埠是 80,因此它們可能是 HTTP 連接。

您在 tcpdump 輸出中看不到它們的原因是因為 tcpdump 將第一個可用介面作為預設介面,並會在 eth0 上擷取數據包,而您看到的 iptables 記錄的數據包在 eth1 上。

引用自:https://serverfault.com/questions/277238