我的网络如下所示:
PC1 >––––– [Router1 (Wlan)] ––––––––– [Router2] –––––––––> Internet
^ |
x +––––––< PC2
在 PC 1 上一切正常除了我没有通过 FTP 收到任何“226 传输完成。”响应。这在 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
Router2 配置:
Static IP: 192.168.2.4/24
Gateway: 192.168.2.2
DNS: 192.168.2.2
现在当我 ping WWW 上的任何地址时,我都会得到一个目标主机不可达。如何正确配置我的笔记本电脑(和路由器)以便让流量通过代理,这样我就可以使用 Wireshark 等进行检查?
答案1
通过奇迹控制寄存器。这将设置 Linux 桥接器,这就是您要执行的操作。命令序列如下所示:
brctl addbr snooper
brctl addif snooper eth0 eth1
ifconfig snooper up
这会将您的笔记本电脑变成一个 2 端口交换机,如果 WLAN 路由器和 WAN 路由器直接连接到您的笔记本电脑,效果会更好。数据包从一个端口进入,从另一个端口出来。您可以在任一接口上进行嗅探。
为了增加乐趣,您甚至可以使用网桥上的 iptables 规则来过滤数据包!