我想检查数据是否已发送到互联网。
我尝试使用jnetcap示例here
我可以使用以下代码来检查接收包:
PcapPacketHandler<String> jpacketHandler = new PcapPacketHandler<String>() {
public void nextPacket(PcapPacket packet, String user) {
System.out.printf("Received packet at %s caplen=%-4d len=%-4d %s\n",
new Date(packet.getCaptureHeader().timestampInMillis()),
packet.getCaptureHeader().caplen(), // Length actually captured
packet.getCaptureHeader().wirelen(), // Original length
user // User supplied object
);
}
};
但我没有看到有关已发送包裹的任何示例吗?
如何通过此api或任何类似的api(java)跟踪发送的程序包
谢谢,
最佳答案
你误会了
在这种情况下,“已接收”表示应用程序从pcap“接收”了数据包。这并不意味着机器从网络接收到数据包。
该示例捕获传入和传出数据包。您可以通过检查各种协议标头来确定差异。有关获取实际捕获数据的更多信息,请参见PcapPacket
。