我正在以编程方式在具有IP表规则的接口上丢弃数据包(丢弃以50%概率进入的数据包)。我希望能够使用bash脚本获取过去3秒内丢弃的数据包数量。我已经看过ifstat,但它似乎并没有意识到正在发生丢弃(也许它只是在查看通过IPtables后进入的数据包?)。是否有其他工具或实用工具可以用来获得这样的数字?
编辑:我应该提到iptables是我用来模拟高速网络的工具,它可以使收件人由于数量庞大而开始丢弃数据包。这种情况是我想要看到并能够识别的。
答案 0 :(得分:3)
使用dumpcap:
dumpcap -i your_interface_here -a duration:3 -w log.pcap | grep '^Packets received/dropped'
dumpcap manpage says:
-a
指定一个标准,指定Dumpcap何时停止写入 到捕获文件。标准是形式测试:值,其中 测试是以下之一:duration:value Stop writing to a capture file after value seconds have elapsed.
-i
捕获接口
-w
将原始数据包数据写入outfile。
答案 1 :(得分:0)
您可以尝试ListView listView = (ListView) rootView.findViewById(R.id.listview_forecast);
mForecastAdapter = new ArrayAdapter<String>(
//The current context (current activity)
getActivity(),
//ID of list item layout
R.layout.list_item_forecast,
//id of the textView to populate
R.id.list_item_forecast_textview,
//data to populate
weekForecast
);
listView.setAdapter(mForecastAdapter);
,它通过iptable规则显示丢弃的数据包计数。
iptables -vL
规则代表iptables中定义的规则。