在数据包中添加有效载荷

12

我能否使用Scapy将图像或文档(以MB为单位)作为数据插入到数据包中?

这是我发送数据的方法。

data = "University of texas at San Antonio"
a = IP(dst="129.132.2.21")/TCP()/data
send(a)

你真正想用这个做什么?是在Python中构建自己的文件流吗?如果是,有比scapy更简单的方法来实现。 - Mike Pennington
1个回答

19

是的,您可以像这样发送原始数据。在此示例中,数据将以ASCII编码。

>>> data = 'University of Texas at San Antonio'
>>> a = IP(dst='129.132.2.21') / TCP() / Raw(load=data)
>>> send(a)

3
可以,但它是否实现了预期的功能?你需要发送至少两个数据包才能使TCP握手正常工作吗?这个有效负载不是会被接收方简单地丢弃吗? - b0fh
3
你说得对,发一个带数据的TCP数据包并不等同于通过三次握手建立TCP连接并传输真实TCP堆栈可接受的数据。这个答案仅仅是关于在TCP头部添加数据的。 - phoenix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接