Java中的重复数据包?

时间:2012-03-24 01:25:06

标签: java sockets tcp

是否有一种简单的方法可以在Java中执行1:1的TCP数据包副本并将其发回,以便强制客户端的TCP实现自动丢弃它?或者我是以错误的方式接近这个?这似乎是一件简单的事情,但让我难过。

编辑原始套接字库是否与此处有任何关联,或者是否严格要求?

2 个答案:

答案 0 :(得分:1)

是的,您可以复制并重新发送所需的所有有效负载数据。

不,没有办法直接使用Java套接字重新创建TCP / IP头(和/或以太网帧头)。

您可能希望查看libpcap:

http://www.tcpdump.org/pcap.html

答案 1 :(得分:1)

TCP数据包复制应该在内核级别完成,因为TCP / IP标头填充在内核级别。

也许您需要重新编译linux内核,并修改TCP / IP堆栈实现,以模拟数据包丢弃和重复。