ICMP目标无法访问错误scapy

时间:2014-03-25 08:56:36

标签: python python-2.7 packet scapy traffic

我正在测试ICMP响应:
当我使用Scapy将UDP段/数据包发送到端口时,它会发送到目的地,说明格式错误的数据包(未知操作),目的地使用正确的ICMP端口不可达消息进行回复。 任何人都可以对此有所了解,还是我在这里犯了一个愚蠢的错误?     这是我这样做的脚本;

# Generate packet
pkts3 = IP(dst="10.0.0.2")/UDP()/Raw(RandString(size=120))
#print pkts
pkts3[UDP].flags = "S"

pktList3 = []
for pktNum3 in range(0,5):
    pktList3.extend(pkts3)
    pktList3[pktNum3][UDP].dport = 520 # Pkt has Ran PortNo.
    print pktList3[pktNum3].summary()
    #print len(pktList[pktNum])
    #wrpcap('tcp-packets.pcap',pktList[pktNum])

# Send the list of packets send(pktList)
start_time3=time.time()
send(pktList3)
totalTime = time.time()-start_time3
totalBytes=(5*120)/totalTime
#print pktList3[0].show()
print pktList3[0].show2()
print totalBytes,"Seconds"

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作(Scapy 2.2.0)

1)使用Scapy的ICMP数据包(好像你的数据包不正确)

from scapy.layers import inet, inet6
icmpPacket = inet.ICMP()

然后像往常一样与运算符/连接。 ICMP在IPv4上运行。

2)除了上一点之外,您还需要使用Scapy修改数据包中的Ethernet部分。您可能需要发送方和接收方的正确MAC地址才能获得正确的回复。

示例: