【问题标题】:How to send the same (duplicate) TCP packet in python如何在python中发送相同的(重复的)TCP数据包
【发布时间】:2015-11-22 18:35:46
【问题描述】:

我正在通过 TCP 套接字发送此自定义数据包

pkt = IP(len=16384, src='192.168.240.243', dst=ip,
        id=RandShort(), ttl=64)/TCP(sport=5000,
        dport=5000, flags="S", window=200,
        options=[('MSS', 1460), ('WScale', 2)])/CustomLayer(type=1, update=2)/"SENT"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:    
    s.connect((ip, 5000))
except socket.error:
    print 'User not connected'

spkt = str(pkt)
s.send(spkt)

数据包已正确发送和接收,但我不能发送多个。例如,如果我尝试在一段时间内包含它(i

如何在同一个套接字中多次发送数据包?

【问题讨论】:

  • 我没有经验,但我想您需要更改数据包的 id 属性,以便底层 IP 堆栈认为它是不同的数据包。

标签: python sockets networking tcp scapy


【解决方案1】:

您的数据包具有相同的 ID,因此它们是相同的数据包,因此作为重复数据包被丢弃。

【讨论】:

  • 谢谢。不过我想我会切换到 UDP 协议。
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 2016-04-11
  • 1970-01-01
相关资源
最近更新 更多