如何嗅探数据包,修改然后发送

时间:2018-08-29 17:59:02

标签: python scapy sniffing

我要嗅探IP数据包,然后将ToS字段更改为1,并向IP标头添加选项,然后发送修改后的数据包而不是原始数据包。 我发现可以用鱼钩做这件事,但似乎不起作用。 有人可以帮我吗?

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)

1 个答案:

答案 0 :(得分:0)

现在,我可以使用以下代码欺骗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地址,请确保您不会陷入无限循环。