Tcpreplay 是一套适用于 UNIX(以及 Cygwin 下的 Win32)操作系统的 GPLv3 许可实用程序,用于编辑和重放以前由 tcpdump 和 Wireshark 等工具捕获的网络流量。它允许您将流量分类为客户端或服务器,重写第 2、3 和 4 层数据包,最后将流量重播回网络并通过其他设备(例如交换机、路由器、防火墙、NIDS 和 IPS)。 Tcpreplay 支持单网卡和双网卡模式,用于测试嗅探和串联设备。
Tcpreplay 被众多防火墙、IDS、IPS、NetFlow 和其他网络供应商、企业、大学、实验室和开源项目使用。如果您的组织使用 Tcpreplay,请告诉我们您是谁以及您使用它的用途,以便我可以继续添加有用的功能。
Tcpreplay 设计用于与网络硬件配合使用,通常不会穿透超过第 2 层。Yazan Siam 在 Cisco 的赞助下开发了tcpliveplay ,可将 TCP pcap 文件直接重播到服务器。如果您想测试整个网络堆栈并进入应用程序,请使用此实用程序。
从版本 4.0 开始,Tcpreplay 已得到增强,可以解决测试和调整 IP Flow/NetFlow 硬件的复杂性。增强功能包括:
4.0 版是 Fred Klassen 提供并由 AppNeta 赞助的第一个版本。非常感谢 Tcpreplay 的作者 Aaron Turner 迄今为止为世界提供了一个可靠且功能齐全的测试产品。新作者致力于将 Tcprelay 性能提升到通常只能在商业网络测试设备中看到的水平。
Tcpreplay 套件包括以下工具:
请访问我们的 wiki 上的下载页面以获取详细的下载和安装说明。
./configure
make
sudo make install
此功能将检测 Linux 和 BSD 系统上支持 netmap 的网络驱动程序。如果检测到,则在 tcpreplay 和 tcpreplay-edit 的执行期间绕过网络驱动程序,并直接写入网络缓冲区。这将使您能够在商用网络适配器上实现全线路速率,类似于商业网络流量生成器所实现的速率。
请注意,绕过网络驱动程序将中断通过测试接口连接的其他应用程序。不要在您通过 ssh 进入的同一接口上进行测试。
从 http://info.iet.unipi.it/~luigi/netmap/ 下载最新的 netmap 并安装如果您将 netmap 解压缩到/usr/src/或/usr/local/src中,则可以正常构建。否则,您将必须指定网络映射源目录,例如:
./configure --with-netmap=/home/fklassen/git/netmap
make
sudo make install
您还可以在这里找到网络图源。
详细的安装说明可在 tar 包中的 INSTALL 文档中找到。
下载 tar 包或 zip 文件。 (可选)克隆 git 存储库:
git clone [email protected]:appneta/tcpreplay.git
如果您有疑问或认为遇到错误,请在此处提交。请务必提供足够的信息,以便我们为您提供帮助。
如果您的问题与编译 tcpreplay 有关:
如果您的问题与 RUNNING tcpreplay 或子工具之一有关:
注:tcpreplay的作者主要使用OS X和Linux;因此,如果您在其他平台上报告问题,请务必提供非常详细的信息,因为我可能无法重现您的问题。
我们还强烈建议您在发布到 tcpreplay-users 电子邮件列表之前阅读大量文档(手册页、常见问题解答、/docs 中的文档和电子邮件列表档案):
http://lists.sourceforge.net/lists/listinfo/tcpreplay-users
如果您有要报告的错误,可以在此处提交:
https://github.com/appneta/tcpreplay/issues
如果您想帮助开发,请访问我们的开发者维基:
https://github.com/appneta/tcpreplay/wiki
最后,请不要直接向作者发送电子邮件提出您的问题。这样做可以防止其他人可能为您提供帮助,并且您的问题/答案不会出现在列表档案中。
Tcpreplay 3.5 是 GPLv3,包含由加州大学伯克利分校、劳伦斯伯克利实验室及其贡献者开发的软件。
Tcpreplay 的作者是 Aaron Turner。 2013 年,AppNeta 创始人兼网络技术副总裁 Fred Klassen 添加了性能功能和增强功能,并最终接管了 Tcpreplay 的维护。
源代码存储库已移至 GitHub。您可以通过安装 git 并执行以下命令来获取存储库的工作副本:
git clone https://github.com/appneta/tcpreplay.git
这很容易。基本上你...
您会发现,如果您使用克隆 appneta/tcpreplay 存储库,您将无法直接为 Tcpreplay 项目做出贡献。如果您相信有一天您可以为存储库做出贡献,GitHub 提供了一种创新方法。通过分叉 @appneta/tcpreplay 存储库,您可以处理自己的存储库副本并提交代码更改,而无需先征求作者的许可。分叉也被认为是一种恭维,所以分叉离开:
git clone [email protected]:/tcpreplay.git
我们将通过 GitHub 服务审核并可能与您讨论这些更改。如果我们接受提交,它将立即应用于生产主分支。
请访问我们的维基。
或访问我们的开发者维基