如何嗅探数据包,修改然后发送
how to sniff packets, modify and then send
我想嗅探 IP 数据包,然后将 ToS 字段更改为 1
并向 IP 添加选项 header 然后发送修改后的数据包而不是原始数据包。
我发现可以用 scapy 做到这一点,但它似乎不起作用。
谁能帮我解决这个问题?
from scapy.all import *
from scapy.layers.inet import IP
def chgSend(x):
x[IP].tos = 1
send(x)
while 1:
sniff(filter="ip src host 10.0.0.2", prn=chgSend)
现在我可以伪装 IP 地址并使用以下代码更改 ToS 字段:
from scapy.all import *
from scapy.layers.inet import IP
def change_send(pckt):
actual_src = pckt[IP].src
pckt[IP].src = "192.168.1.5"
pckt[IP].tos = 1
sendp(pckt)
print("We changed source from " + actual_src + " to " + pckt[IP].src)
while 1:
sniff(filter="ip src host 192.168.1.2", prn=change_send)
如果您不想更改源 IP 地址,请确保您不会陷入无限循环。
我想嗅探 IP 数据包,然后将 ToS 字段更改为 1
并向 IP 添加选项 header 然后发送修改后的数据包而不是原始数据包。
我发现可以用 scapy 做到这一点,但它似乎不起作用。
谁能帮我解决这个问题?
from scapy.all import *
from scapy.layers.inet import IP
def chgSend(x):
x[IP].tos = 1
send(x)
while 1:
sniff(filter="ip src host 10.0.0.2", prn=chgSend)
现在我可以伪装 IP 地址并使用以下代码更改 ToS 字段:
from scapy.all import *
from scapy.layers.inet import IP
def change_send(pckt):
actual_src = pckt[IP].src
pckt[IP].src = "192.168.1.5"
pckt[IP].tos = 1
sendp(pckt)
print("We changed source from " + actual_src + " to " + pckt[IP].src)
while 1:
sniff(filter="ip src host 192.168.1.2", prn=change_send)
如果您不想更改源 IP 地址,请确保您不会陷入无限循环。