提问者:小点点

如何在NS3中使用PointToPointHelper对丢弃的数据包进行pcap


我在NS3实验中试图捕获数据包。

我使用PointToInthelper来使用PCAP。并且,它能够捕获正常的数据包。

PointToPointHelper pointToPoint;
pointToPoint.EnablePcap ("Host", (hosts.Get(0))->GetDevice(1));

但是,它无法捕获我故意丢弃的数据包。

我在RouteInput方法中丢弃了数据包。我只需返回false就可以丢弃数据包。

RouteInput(Ptr<Packet> p, Ipv4Header &header, Ptr<const NetDevice> idev, UnicastForwardCallback ucb, MulticastForwardCallback mcb, LocalDeliverCallback lcb, ErrorCallback ecb) {
...
return false;
}

我发现pcap并没有捕获丢弃的数据包。

虽然数据包是交换机故意丢弃的,但它确实到达了交换机。所以,我希望PCAP捕获数据包。

有没有一种方法可以捕获故意丢弃的数据包?


共1个答案

匿名用户

如果不使用pcap文件,NS3也会通过d操作生成一个。tr文件,这意味着数据包被丢弃。