我正在创建一个网桥来连接同一台机器上的两个以太网卡。其中一个卡连接到LAN,另一个连接到网络设备。看起来像这样
我在两个接口上嗅探数据包,然后使用sendp(x,iface='eth0')
将它们发送给另一个接口,我在eth1上嗅到了一个包,反之亦然。在
我验证了两个接口上的数据包,发现它们是正确的,但不知怎么的,我无法为设备获取IP。 下面是我的一段代码,我创建了两个线程,每个接口一个:
from scapy.all import*
**THREAD1:**
pkt=sniff(iface="eth0",store=1,count=1)
outbuff=[]
outbuff+=pkt[:]
for src in outbuff[:]
srcmac=src.sprintf(r"%Ether.src%")
if srcmac==deviceMAC:
pass
else:
sendp(self.outbuff[:],iface="eth1",verbose=0)
**THREAD2:**
pkt=sniff(iface="eth1",store=1,count=1)
outbuff=[]
outbuff+=pkt[:]
for src in outbuff[:]
srcmac=src.sprintf(r"%Ether.src%")
if srcmac==deviceMAC:
sendp(self.outbuff[:],iface="eth1",verbose=0)
else:
pass
有人能帮我解决这个问题吗?或者给我一个替代的解决方案吗?在
已解决:结合Python+IPTABLES并使用触发器原理解决了这个问题。
发布桥接类的片段
相关问题 更多 >
编程相关推荐