libpcap
pcap_lookupdev()
pcap_lookupnet()
pcap_open_live()
pcap_datalink()
pcap_compile()
pcap_dispatch()
pcap_loop()
pcap_open_live() と pcap_lookupnet() で使用するために適切なネッ
トワークデバイスへのポインタを返す。
エラー時は NULL が返され、errbuf にエラーメッセージが入る。
ネットワークデバイス device に関連するネットワーク番号とマスク
を決定するために使用される。
エラー時は -1 が返され、errbuf にエラーメッセージが入る。
ネットワーク上のパッケート見るためのディスクリプタを取得する。
device はオープンするネットワークデバイス、snaplen はキャプチャー
する 最大バイトを指定。promisc は無差別透過モードにするなら 1
を指定。to_ms は読み込みのタイムアウト(msec)を指定する。
エラー時は NULL が返され、errbuf にエラーメッセージが入る。
リンクレイヤータイプを返す。(ex: DLT_EN10MB)
(SEE net/bpf.h)
フィルタープログラムに文字列 str をコンパイルするために使用。
p はディスクリプタ。
program は pcap_compile() によって埋められる。optimize は出力
されるコードの最適化を行うかどうか(0でないなら最適化する)。
netmask はローカルネットワークのネットマスクを指定。
パケットを集め処理するために使用。
cnt は処理するパケットの最大数。 cnt が -1 ならバッファ中の受
信したケット全てを処理する。 cnt が 0 なら エラーが起きるか、
EOF に達するかタイムアウトまで全てのパケットを処理する。
callback は3つの引数とともに呼ばれるルーチンで、その引数は
pcap_dispatch から渡される u_char ポインタ、pcap_pkthdr 構造体
へのポインタ、パケットデータへの u_char ポインタである。
読んだパケットの数を返す。"savefile" 中で EOF に達したら 0 を
返す。エラーの場合、-1 を返し pcap_perror() か pcap_geterr()
が使用可能。
cnt パケットが処理されるかエラーが起きるまでパケットを読み続け
ることを除いて pcap_dispatch() と同じ。
cnt が 負の値なら(エラーが起きなければ)永久にループする。