从文件中提取数据以用作有效载荷

Pulling data from a file to use as a payload

如何让 Scapy 提取文件并在 ICMP 数据包中发送它?

我正在使用 Scapy 创建一个 ICMP 数据包并希望它提取一个文件并将其包含在有效负载中。我一直在搞乱基本的发送命令,无法弄清楚下一步。

发送(IP(dst="1.1.1.1")/ICMP()/{file.txt}

最简单的方法是将文件读入字符串(或字节)并打开并读取,然后将其添加为 Raw。

with open('file.txt') as f:
    s = f.read()
send(IP(dst = '1.1.1.1') / ICMP() / Raw(load = s)) # you can, also, omit Raw(load = s) and just add it as ... / string_variable

根据文件长度和内容类型,可能需要稍作修改。此示例适用于一个小文本文件。

答案已使用 scapy3k (http://github.com/phaethon/scapy) 和 python3 进行测试,但它也应该适用于 scapy。