为了测试自定义 SIP 堆栈的错误和超时处理,有时将 UDP 数据包从多个源地址(甚至是分配给其他主机的地址)发送到运行 SIP 堆栈的主机很有用。
Nmap 具有伪造其源地址(-S
)和端口(-g
)的能力,现在我需要指定应将哪些数据作为 UDP 数据包发送到指定的地址和端口。
似乎可以使用Nmap脚本引擎,但我还没找到如何使用它。
是否有一种直接的方法来使用 Nmap 或 UNIX 平台上现有的其他工具来做到这一点?
答案1
你可以看看斯卡皮工具非常容易用来制作数据包。它是一个基于 Python 的工具。您可以在此处找到一个基本示例。
http://trac.secdev.org/scapy/wiki/ScapyRecipes http://www.secdev.org/projects/scapy/build_your_own_tools.html
至于欺骗 SIP 流量,您可以使用 wireshark 捕获实际的 SIP 流量。将有效负载导出为文件,并使用任何流量生成工具将该文件用作有效负载。
其他可用工具包括
http://www.hping.org/ 简单,命令行界面
http://code.google.com/p/ostinato/ 简单,图形用户界面
答案2
netcat
可以完成这项工作。您可以发送任意 UDP 数据并通过 欺骗地址-s
。