Linux OS から、C または Python で独自のデータ使用モニターを作成しようとしています。私は数日間検索して調査しました。現在、自分のニーズに合わせてsniffex.cを適応させようとしています。いくつかの ftp セッションで送受信された合計バイト数を確認することに成功しました。
sniffex.c では、tcp パケット サイズが計算されます。私の質問は、UDP パケット サイズをどのように計算するのですか? このトピックについて検索しましたが、何も見つかりませんでした。この質問は理にかなっていますか?
アップデート:
パケット サイズが計算される関数は次のようになります。
got_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *packet)
{
...
int size_payload;
...
case IPPROTO_UDP:
printf(" Protocol: UDP\n");
size_payload = header->len;
...
}
に 4 を追加する必要がありsize_payload
ますか?
この関数へのコールバックは次のようになります。
/* now we can set our callback function */
pcap_loop(handle, num_packets, got_packet, NULL);