0
我正在編寫一個捕獲數據包的PERL腳本,然後在每秒鐘內生成有關所有TCP數據流的統計信息,這些數據流在第二秒內聯機。 我正在使用NET :: Pcap,我想以某種方式實現這一點,並且如果可能的話,不使用線程。我嘗試過使用select()和pcap_breakloop(),但它並沒有用於工作。每秒在pcap_loop期間生成統計信息
我在想:
...
$pcap = pcap_open_live($dev, 1024, 1, 0, \$err);
select($pcap, undef, undef, 1)
if 1 sec elapsed print a line with data maintained by the pcap_callback function,
and go back to pcap_loop
你有任何想法如何解決這個問題?我不確定我應該使用select,但我沒有更好的想法,我是PERL的新手。我選擇select的原因是,即使沒有流量,我也需要生成統計信息。
例如我想打印每秒發送的字節,然後我也需要生成總零線。
任何幫助,將不勝感激:)