
我的網路如下:
PC1 >––––– [Router1 (Wlan)] ––––––––– [Router2] –––––––––> Internet
^ |
x +––––––< PC2
在 PC 1 上一切正常除了我沒有收到任何“226 傳輸完成”訊息。透過 FTP 進行回應。這不會發生在 PC 2 上。
我想做的(也是為了更好地理解這個主題)是將我的筆記型電腦放在 Router1 和 Router2 之間並玩代理。查看 226 封包是否真正到達 Router1。
到目前為止的嘗試如下(筆記型電腦位於 x 標記的位置)
ifconfig eth0 192.168.1.33 netmask 255.255.255.0 up # Goes to Router2
ifconfig eth1 192.168.2.2 netmask 255.255.255.0 up
route add default gw 192.168.1.1 dev eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
路由器2設定:
Static IP: 192.168.2.4/24
Gateway: 192.168.2.2
DNS: 192.168.2.2
現在,當 ping WWW 上的任何地址時,我都會得到一個目標主機不可達。如何正確配置我的筆記型電腦(和路由器)以便代理流量,以便我可以使用 Wireshark 等檢查它?
答案1
透過奇蹟brctl。這將設定 Linux 橋接器,並且正是您執行所需操作所需的內容。命令序列如下圖所示:
brctl addbr snooper
brctl addif snooper eth0 eth1
ifconfig snooper up
這會將您的筆記型電腦變成 2 連接埠交換機,如果 WLAN 路由器和 WAN 路由器直接連接到您的筆記型電腦,效果最佳。資料包從一個連接埠進來,從另一個連接埠出去。您可以在任一介面上進行嗅探。
為了獲得額外的樂趣,您甚至可以在網橋上使用 iptables 規則來過濾資料包!