我正在寻找一个实用程序,它可以从我在文件中提供给它的原始数据生成 UDP 或 TCP 数据包。当然,我必须提供生成这些数据包的参数,如下所示:
UDP 端口号、TCP IP 地址、IP 类型(IPv4 或 IPv6)等
我可以将这些参数作为命令行或在某些配置文件中提供。但它应该能够从中生成 UDP 或 TCP 数据包,并在一些文本文件中给我查看。我需要这个,因为我想将该数据用作将数据放入以太网驱动程序之一。
我正在寻找一个实用程序,它可以从我在文件中提供给它的原始数据生成 UDP 或 TCP 数据包。当然,我必须提供生成这些数据包的参数,如下所示:
UDP 端口号、TCP IP 地址、IP 类型(IPv4 或 IPv6)等
我可以将这些参数作为命令行或在某些配置文件中提供。但它应该能够从中生成 UDP 或 TCP 数据包,并在一些文本文件中给我查看。我需要这个,因为我想将该数据用作将数据放入以太网驱动程序之一。
您似乎正在寻找hping。
Nmap 人已经构建了一个名为Ncat的 netcat 继任者,它作为 Nmap 5 的一部分包含在内。
实际上,看起来您正在尝试做的是将一些原始数据包装在 UDP 或 TCP 和 IP 标头中的文件中,然后获取“包装”数据输出?请注意,这对于 TCP 来说是有问题的,因为它是一种双向协议,并且“包装”流将取决于来自远程站点的响应(重新传输、数据包大小等)
实现此目的的一种快速而肮脏的方法是将数据传输到远程主机(对于 UDP 可能不存在,尽管您需要远程上的 TCP 侦听套接字。对于 IPv6,您可以通过 netcat 或 netcat6 传输此数据. 然后您可以在同一台机器上运行 tcpdump 或 wireshark 以将完整包装的流捕获到 PCAP 格式的文件中。此 PCAP 会将您的原始数据打包(UDP/TCP、IP 和以太网标头中的数据)
听起来对于您的应用程序,您可能希望在使用数据之前去除以太网标头。
之前对这个问题的回答建议使用 hping,它可能会以更长的学习曲线为代价为您提供更大的灵活性,从而获得您想要的结果。
Python 在完成这些方面的开销也很低。
http://www.amk.ca/python/howto/sockets/有一个很好的入门教程。