Typedefs |
|
| typedef void(* | pcap_handler )(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data) |
| パケットを受け取るコールバック関数のプロトタイプ宣言 |
|
関数 |
|
| pcap_t * | pcap_open_live (char *device, int snaplen, int promisc, int to_ms, char *ebuf) |
| 非推奨: pcap_open() を代わりに使用して下さい。
直接キャプチャのための物理インターフェイスをオープンします。 |
|
| pcap_t * | pcap_open_dead (int linktype, int snaplen) |
| 非推奨: pcap_open() を代わりに使用して下さい。
キャプチャを開始せずにpcap_t 構造体を構築します。 |
|
| pcap_t * | pcap_open_offline (const char *fname, char *errbuf) |
| 非推奨: pcap_open() を代わりに使用して下さい。
savefileを、パケットを読み込むtcpdump/libpcapフォーマットでオープンします。 |
|
| pcap_dumper_t * | pcap_dump_open (pcap_t *p, const char *fname) |
| ネットワークトラフィックを書き込むためのファイルをオープンします。 |
|
| int | pcap_setnonblock (pcap_t *p, int nonblock, char *errbuf) |
| ブロッキングモードとノンブロッキングモードを指定するスイッチです。 |
|
| int | pcap_getnonblock (pcap_t *p, char *errbuf) |
| インターフェイスのノンブロッキング状態を取得します。 |
|
| int | pcap_findalldevs (pcap_if_t **alldevsp, char *errbuf) |
| 非推奨: pcap_findalldevs_ex()
を代わりに使用して下さい。 システム上の利用可能なインターフェイスリストを返します。 |
|
| void | pcap_freealldevs (pcap_if_t *alldevsp) |
| pcap_findalldevs()
によって返されたインターフェイスリストを解放します。 |
|
| char * | pcap_lookupdev (char *errbuf) |
| 非推奨: pcap_findalldevs() を代わりに使用して下さい。 システム内の最初の利用可能なデバイスを返します。 |
|
| int | pcap_lookupnet (char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf) |
| 非推奨: pcap_findalldevs() を代わりに使用して下さい。 インターフェイスのサブネットとネットマスクを返します。 |
|
| int | pcap_dispatch (pcap_t *p, int cnt, pcap_handler callback, u_char *user) |
| 非推奨: pcap_next_ex() を代わりに使用して下さい。
パケットのグループを収集します。cnt パケットが受け取られた時か、pcap_open_live()
によってタイムアウトした時にそれらの値を返します。 |
|
| int | pcap_loop (pcap_t *p, int cnt, pcap_handler callback, u_char *user) |
| 非推奨: pcap_next_ex() を代わりに使用して下さい。
パケットのグループを収集します。パケットは受け取られたが、 pcap_open_live()
によって設定されたタイムアウトを遵守しなかった時にそれらの値を返します。したがって、永遠にパケットをブロックします。 |
|
| void | pcap_dump (u_char *user, const struct pcap_pkthdr *h, const u_char *sp) |
| パケットをディスクに保存します。 |
|
| int | pcap_compile (pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask) |
| パケットフィルタをコンパイルします。プログラム内のハイレベルなフィルタリングの式を、
カーネルレベル
のフィルタリングエンジンによって翻訳出来るものに変換します。(フィ
ルタリングの構文シンタックス 参照) |
|
| int | pcap_compile_nopcap (int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, bpf_u_int32 mask) |
| 非推奨, pcap_open_dead() と pcap_compile() を代わりに使用して下さい。 パケットフィルタをアダプタのオープニングの必要なしにコンパイルします。ハイレベル なフィルタリングの式を、カーネルレベルのフィルタリングエンジンによって翻訳されたプログラムに変換します。(フィ ルタリングの構文シンタックス 参照) |
|
| int | pcap_setfilter (pcap_t *p, struct bpf_program *fp) |
| フィルタをキャプチャに関連付けます。 |
|
| void | pcap_freecode (struct bpf_program *fp) |
| フィルタを解放します。 |
|
| u_char * | pcap_next (pcap_t *p, struct pcap_pkthdr *h) |
| 非推奨, pcap_next_ex() を代わりに使用して下さい。 次の得られるパケットを返します。 |
|
| int | pcap_datalink (pcap_t *p) |
| アダプタのリンクレイヤを返します。 |
|
| int | pcap_snapshot (pcap_t *p) |
| アプリケーションへ運ばれるパケット部分の容量を(バイトで)返します。 |
|
| int | pcap_is_swapped (pcap_t *p) |
| savefileが現在のシステムよりも別のバイトオーダーを使用していたら、trueを
返
します。 |
|
| int | pcap_major_version (pcap_t *p) |
| savefileを書き込むのに使用していたpcapライブラリの、メジャーバージョン数
を
返します。 |
|
| int | pcap_minor_version (pcap_t *p) |
| savefileを書き込むのに使用していたpcapライブラリの、マイナーバージョン数
を
返します。 |
|
| int | pcap_stats (pcap_t *p, struct pcap_stat *ps) |
| 非推奨, pcap_stats_ex() を代わりに使用して下さい。 現在のキャプチャの統計値を返します。 |
|
| FILE * | pcap_file (pcap_t *p) |
| 非推奨, pcap_dump() を代わりに使用して下さい。 オフラインキャプチャのストリームを返します。 |
|
| int | pcap_fileno (pcap_t *p) |
| 非推奨, Win32環境下でデバイス記述子を扱うことは意味を成しません。 キャプチャデバイスのファイル記述子を返します。 |
|
| void | pcap_perror (pcap_t *p, char *prefix) |
| prefixによって先頭に文字を付けられた、stderrの最後のpcapライブラリエ
ラーテキストを表示しま
す。 |
|
| char * | pcap_geterr (pcap_t *p) |
| 最後のpcapライブラリエラーに付随するエラー文字列を返します。 |
|
| char * | pcap_strerror (int error) |
| pcap_strerror() は strerror()
が利用可能でないときに提供されます。 |
|
| fn void | pcap_close (pcap_t *p) |
| pに関連付けられているファイルをクローズし、リソースの割り当てを解除します。 |
|
| fn void | pcap_dump_close (pcap_dumper_t *p) |
| pcap_dump_close()
は“savefile”をクローズします。 |
|
| fn int | pcap_setbuff (pcap_t *p, int dim) |
| Win32 仕様です。
アダプタに関連付けられているカーネルバッファのサイズをセットします。 |
|
| int | pcap_setmode (pcap_t *p, int mode) |
| Win32 仕様です。
インターフェイスの動作モードをpからmodeにセットします。 |
|
| int | pcap_sendpacket (pcap_t *p, u_char *buf, int size) |
| Win32 仕様です。 直接パケットを送信します。 |
|
| int | pcap_setmintocopy (pcap_t *p, int size) |
| Win32 仕様です。
シングルコールでカーネルによって受け取られる、最小のデータ量をセットします。 |
|
| HANDLE | pcap_getevent (pcap_t *p) |
| Win32 仕様です。
インターフェイスpに関連付けられているイベントハンドルを返します。 |
|
| pcap_send_queue * | pcap_sendqueue_alloc (u_int memsize) |
| Win32 仕様です。 キューの送信を割り当てます。 |
|
| void | pcap_sendqueue_destroy (pcap_send_queue *queue) |
| Win32 仕様です。 キューの送信を破棄します。 |
|
| int | pcap_sendqueue_queue (pcap_send_queue *queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data) |
| Win32 仕様です。 キューの送信にパケットを追加します。 |
|
| u_int | pcap_sendqueue_transmit (pcap_t *p, pcap_send_queue *queue, int sync) |
| Win32 仕様です。
ネットワークに直接パケットのキューを送信します。 |
|
| int | pcap_next_ex (pcap_t *p, struct pcap_pkthdr **pkt_header, u_char **pkt_data) |
| Win32 仕様です。
パケットをインターフェイスからか、オフラインキャプチャから読み込みます。 |
|
| int | pcap_live_dump (pcap_t *p, char *filename, int maxsize, int maxpacks) |
| Win32 仕様です。 キャプチャをファイルに保存します。 |
|
| int | pcap_live_dump_ended (pcap_t *p, int sync) |
| Win32 仕様です。
カーネルのダンププロセス状態を返します:すなわち、pcap_live_dump()
によって設定された制限のうちの一つ(パケットの最大数とファイルの最大サイズ)に到達したかどうか、を返します。 |
|
| int | pcap_stats_ex (pcap_t *p, struct pcap_stat *ps) |
| Win32 仕様です。 現在のキャプチャの統計値を返します。 |
|
|
|
パケットを受け取るコールバック関数の、プロトタイプ宣言です。 pcap_dispatch() か pcap_loop() がユーザーによって呼び出されると、このコールバックによってパケットがアプリケーションにパスされます。userは、ユーザーが定義したキャプチャセッ ションの状態を含むパラメータなので pcap_dispatch() と pcap_loop() のuserパラメータに対応します。pkt_header はキャプチャドライバによってパケットに関連付けられたヘッダです。プロトコルヘッダではありません。pkt_data は、プロトコルヘッダを含んだパケットのデータを指します。 ファイルfuncs/pcap.hの786行 目の定義 |
|
|
pと関連付けられたファイルをクローズし、リソースの割り当てを解除します。 参考 PacketCloseAdapter(), pcap_close_remote(), pcap_freecode(). 右より参照 add_or_find_if(), daemon_endcapture(), daemon_opensource(), daemon_serviceloop(), daemon_startcapture(), pcap_compile_nopcap(), pcap_opensource_remote(), pcap_startcapture_remote(). |
|
||||||||||||||||||||||||
|
パケットフィルタをコンパイルします。ハイレベルなフィルタリングの式をカーネルレベルのフィルタリングエンジンによって翻訳出来るプ ログラムに変換します(フィ ルタリング表現のシンタックス 参照)。 pcap_compile() は、文字列 strをフィルタプログラムにコンパイルするのに使用されます。fpは bpf_program 構造体へのポインタで、 pcap_compile() によって書き込まれています。optimize はそこから派生するプログラム(コード)の最適化が機能しているかをコントロールします。netmask はネットマスクを指定します。-1が返されることは、pcap_geterr() によってエラーテキストが表示されるようなエラーが生じた場合に返される値です。 参考 bpf_program::bf_insns, bpf_program::bf_len, bpf_error(), bpf_pcap, freechunks(), gen_retblk(), init_linktype(), mask, no_optimize, pcap_datalink(), pcap_snapshot(), root, snaplen, snprintf, syntax(). 右より参照 main(), pcap_compile_nopcap(). |
|
||||||||||||||||||||||||||||
|
非推奨, pcap_open_dead()
と pcap_compile()
を代わりに使用して下さい。 pcap_compile_nopcap() と pcap_compile() は、pcap構造体を渡す代わりに一方がはっきりとsnaplenとlinktypeを渡すことを除いて、両者は似通っています。それは、pcap_open()が 必ず呼び出されることなく、ダイレクトなBPF処理のためのフィルタコンパイルに意図的に使用されます。-1が返されることは、エラーテキストが利用で きないときのエラーを明示しています。(pcap_compile_nopcap() は pcap_open_dead(), pcap_compile(), と pcap_close() のラッパー(包み)で す。最後の三つのルーチンは、コンパイルエラー時のエラーテキストを取得するためにダイレクトに使用されます。) strパラメータに関する詳細は フィルタ リング表現のシンタックス のセクションを参考にして下さい。 右より参照 pcap_close(), pcap_compile(), pcap_open_dead(), pcap_t. |
|
|
アダプタのリンクレイヤを返します。 pcap_datalink() はリンクレイヤのタイプを返します、下記のタイプを含みます:
右より参照 pcap_compile(). |
|
||||||||||||||||||||
|
非推奨: pcap_next_ex() を代わりに使用して下さい。 パケットのグループを収集します。cnt個のパケットが受け取られた時か、 pcap_open_live() によってタイムアウトしたときにそれらの値を返します。 pcap_dispatch() はパケットを収集するのと、処理するのに使用されます。cnt は返す前に処理しなければならないパケットの最大数を特定します。これは最小値ではありません。直接キャプチャを読み込んでいる時は一度に一個だけのバッ ファ可能なパケットを読み込むので、cnt個のパケットよりも少ないパケットが処理されます。値-1の cnt は、直接キャプチャを読み込んでいる時に一つのバッファから受け取られる全てのパケット、それか“savefile”を読み込んでいる時のファイル内の全 てのパケットを処理します。 callback は三つの引数で呼び出されるルーチンを特定します。: pcap_dispatch() から渡されるu_charのポインタ、 ポインタパケットデータです。 読み込まれたパケット数が返されます。0 は直接キャプチャより一個もパケットが読まれたなかったか(例えば、それらパケットがフィルタを通過しなかったか、パケットが一つも来ないうちにリードタ イムアウトをサポートするプラットフォーム上で、パケットが一つも到達しないうちにタイムアウトしてしまったか、キャプチャデバイスのファイル記述 子がノンブロッキングモードで、読み込めるパケットがなかったか)、 または“savefile”にパケットが一つもなかったか、を表します。値-1 が返されることは、pcap_perror() か pcap_geterr() がエラーテキストを表示するために使用されることを意味しています。
参考 pcap_offline_read(), pcap_read(). 右より参照 pcap_next() |
|
||||||||||||||||
|
パケットをディスクに保存します。 pcap_dump() は pcap_dump_open() でオープンされた“savefile”にパケットを出力します。その呼び出し引数は、pcap_dispatch() か pcap_loop() で使われるのに適していることに注目して下さい。ダイレクトに呼び出されればuserパラメータは、pcap_dump_open() によって返されるpcap_dumper_tのタイプのものになります。 ファイル savefile.c の650行 目の定義 参考 pcap_pkthdr::caplen, pcap_pkthdr::len, pcap_pkthdr::ts. 右より参照 dispatcher_handler(). |
|
|
pcap_dump_close() は“savefile”を閉じます。
ファイル savefile.c 715行 目の定義 |
|
||||||||||||
|
ネットワークトラフィックを書き込むファイルをオープンします。 pcap_dump_open() は書き込みのための"savefile"をオープンするのに呼び出されます。 fname はオープンするファイルの名前を指します。"-" はstdinと同義語です。もしNULLが返されれば、エラーテキストを取得するためにpcap_geterr() が使用されます。
ファイル savefile.c の 669 行目の定義 参考 dlt_to_linktype(), pcap_dumper_t, pcap_strerror(), sf_write_header(), snprintf. 右より参照 main(). |
|
|
非推奨、 pcap_dump()
を代わりに使用して下さい。 pcap_file() は"savefile"のスタンダードI/Oストリームを返します。 "savefile"がpcap_open_offline()に よってオープンされたか、NULLの場合か、ネットワークデバイスがpcap_open_live()に よってオープンされた場合に、I/Oストリームを返します。
|
|
|
非推奨、デバイス記述子をWin32環境下で直接取り扱うことは意味を成しません。 pcap_fileno() は、読み込まれてキャプチャされたパケットから、ファイル記述子番号を返します。ネットワークデバイスが pcap_open_live() によってオープンされたか、-1ので オープンされたか、"savefile"が pcap_open_offline() によってオープンされた場合に、ファイル記述子番号を返します。
|
|
||||||||||||
|
非推奨: pcap_findalldevs_ex() を代わりに使用して下さい。 システム上の利用可能なインターフェイスのリストを返します。 pcap_findalldevs() は、pcap_open_live()で オープンされるネットワークデバイスのリストを構築します。(pcap_findalldevs()呼 び出しのプロセスによって、pcap_open_live()で ネットワークデバイスがオープンされないこともあるということに注目して下さい。なぜなら、一例として、そのプロセスにはキャプチャのためにそれらを オープンするという十分な特権を持っていない、ということがあります。もしそうであれば、それらのデバイスはリスト上には現れません。) alldevsp はリストの最初の要素を指すのにセットされます。それぞれのリストの要素はpcap_if_tのタイプのものです。
|
|
|
pcap_findalldevs() によって返されたインターフェイスのリストを解放します。 pcap_freealldevs() は、pcap_findalldevs()に よって割り振られたリストを解放するのに使用されます。
参考 pcap_addr::addr, pcap_if::addresses, pcap_addr::broadaddr, pcap_if::description, pcap_addr::dstaddr, pcap_if::name, pcap_addr::netmask, pcap_if::next, pcap_addr::next. 右より参照 daemon_findalldevs(), main(). |
|
|
フィルタを解放します。 pcap_freecode() は、BPFプログラムが必要なくなった時に、pcap_compile() によって生成されbpf_program構 造体が指すメモリ領域を解放するのに使用されます。例として、pcap_setfilter() の呼び出しによるpcap構造体のためのフィルタプログラム生成後、などです。
参考 bpf_program::bf_insns, bpf_program::bf_len. 右より参照 pcap_close(). |
|
|
最後のpcapライブラリエラーに付随するエラーテキストを返します。
右より参照 bpf_error(), daemon_thrdatamain(). |
|
|
Win32 仕様です。 インターフェイスpに関連付けられているイベントハンドルを返します。 このイベントは、ドライバのバッファが、読み込みの実行なしでいくらかのデータで満たされるまで待機するために、 WaitForSingleObject()やWaitForMultipleObject()などの関数に渡されます。
ファイル Win32-Extensions.cの 31 行目の定義 |
|
||||||||||||
|
インターフェイスの"ノンブロッキング" 状態を取得します。 pcap_getnonblock() は現在のキャプチャ記述子の"ノンブロッキング"状態を返します。"savefiles"上では常に0を返します。エラーが発生すれば-1と、的確 なエラーメッセージを含んだerrbufを返します。
参考 pcap_strerror(), snprintf. |
|
|
現在のsavefileがシステムより異なるバイトオーダーを使用した時に、true を返します。 |
|
||||||||||||||||||||
|
Win32 仕様です。 キャプチャをファイルに保存します。 pcap_live_dump() はインターフェイスからネットワークトラフィックをファイルにダンプします。この関数を使用してのダンプはカーネルレベルで動作します、したがってpcap_dump()を 使用するよりも効果的です。 この関数のパラメータはインターフェイス記述子(pcap_open_live()で 獲得される)で、ダンプファイルの文字列、ファイルの最大サイズ(バイトで)とファイルが含むパケットの最大数です。ファイルの最大サイズとパケットの 最大数を0に設定することは、制限を設定しないということを意味しています。ファイルの最大サイズかパケットの最大数に到達すると、ダンプが終了します。 pcap_live_dump() はノンブロッキングのため、すぐに値を返します。pcap_live_dump_ended() はダンププロセスをチェックするためか、それが終了するまで待機するのに使用されます。pcap_close() はダンププロセスを終了する代わりに使用されます。 二つの上限(ファイルサイズとパケット数)のうち一つが上限に到達することでダンプが止まりますが、ファイルはオープンされたままなの に注目して下さい。データを正しくflushするのとファイルを安定した状態に置くために、アダプタはpcap_close()に よって閉じられなくてはなりません。 ファイルWin32-Extensions.c の298 行目の定義 |
|
||||||||||||
|
Win32 仕様です。 カーネルダンププロセスを返します。すなわち、pcap_live_dump()に よって設定された値が上限に達したことを知らせます。 pcap_live_dump_ended() は、pによって指されているインターフェイス上のpcap_live_dump()呼 び出しにより設定された上限に関する情報を、ユーザーに知らせます。もし返された値が非0であれば、どちらかの値が上限に達して、ダンププロセスが今のと ころ停止しているということを意味します。 もしsync が非0であれば、関数はダンプが終了するまでブロックし続け、そうでない場合は、即座に値を返します。
ファイル Win32-Extensions.c の329行 目の定義 |
|
|
非推奨, pcap_findalldevs()
を代わりに使用して下さい。 pcap_lookupdev() はpcap_open_live() と pcap_lookupnet()で 使用のに適合するネットワークデバイスを指すポインタを返します。エラーがあると、NULLが返されてerrbufに適切なエラーメッ セージが含められます。
|
|
||||||||||||||||||||
|
非推奨, pcap_findalldevs()
を代わりに使用して下さい。 pcap_lookupnet() は、ネットワークデバイスに関連付けられたネットワーク番号とネットマスクを確定するのに使用されます。netp と maskp の両方はbpf_u_int32 のポインタです。-1が返されることは、errbufに適切なエラーメッセージが含められた場合のエラーを意味しています。
右より参照 main(). |
|
||||||||||||||||||||
|
非推奨: pcap_next_ex() を代わりに使用して下さい。パケットのグループを収集します。cnt 個のパケットが受け取られるとそれらを返しますが、pcap_open_live()で 設定されたタイムアウトを順守しないので、永遠にブロックし続けます。 pcap_loop() は pcap_dispatch() に、エラーが発生するかcnt個のパケットが処理されるまでパケットの読み込みを続ける、という点を除いてよく似ています。直接読み込みのタイムアウトが 発生したときは、値を返しません。むしろ、非0を特定することはpcap_open_live()へ のタイムアウトを読み込んで、pcap_dispatch()の 呼び出しは、タイムアウトが発生した時に取り込まれるどのパケットの受信と処理をも許可します。cntの値をマイナスにセットすることは、pcap_loop()に よる無限ループを引き起こします(少なくともエラーが発生するまで)。 こちらも参照:pcap_dispatch(), pcap_next(), pcap_open_live(), pcap_open_offline(), pcap_handler 参考 n, pcap_offline_read(), pcap_read(). 右より参照 main(). |
|
|
savefileを書き出すため、pcapライブラリのメジャーなバージョンナンバーを返します。
|
|
|
savefileを書き出すため、pcapライブラリのマイナーなバージョンナンバーを返します。
|
|
||||||||||||
|
非推奨, pcap_next_ex()
を代わりに使用して下さい。 pcap_next() は次のパケットを読み込み(cntの値が1でpcap_dispatch() が呼び出された)、パケット内のデータにu_char のポインタを返します(そのパケットのための pcap_pkthdr 構造体はポインタを供給しません)。
|
|
||||||||||||||||
|
Win32 仕様。パケットをインターフェイスかオフラインキャプチャから読み込みます。 この関数は次の利用可能なパケットを取り出して、libpcapによって従来から用意されているコールバックメソッドを回避します。 pcap_next_ex は pkt_header と pkt_data パラメータを、(pcap_handler()参照)次のキャプチャされたパケットのデータ とヘッダのポインタで満たします。 戻り値は次のようになります:
参考 pkt_for_fakecallback::hdr, pcap_offline_read(), pcap_read(), pcap_read_nocb_remote(), pcap_startcapture_remote(), pkt_for_fakecallback::pkt. 右より参照daemon_thrdatamain(). |
|
||||||||||||
|
非推奨: pcap_open() を代わりに使用して下さい。キャプチャを開始せずにpcap_t 構造体を作ります。 pcap_open_dead() は、libpcap内の他の関数を呼び出す時に使用するpcap_t構造体を作成するのに使用します。これはBPFコードをコンパイルするのに libpcapを使うときだけ、典型的に使用されます。
参考 pcap_t. 右より参照 pcap_compile_nopcap(). |
|
||||||||||||||||||||||||
|
非推奨: pcap_open() を代わりに使用してください。直接キャプチャのための物理インターフェイスをオープンします。 pcap_open_live() は、ネットワーク上のパケットを調べるためのパケットキャプチャ記述子を獲得するのに使用されます。device はオープンするネットワークデバイスを特定する文字列です。Linuxシステムの2.2かそれ以降のカーネルでは、引数が"any"やNULLになること は、全てのインターフェイスからパケットをキャプチャできることを意味しています。snaplen はキャプチャするための最大バイト数を特定します。promisc は、インターフェイスがpromiscuous(無差別)モードにセットされているかを特定します(このパラメータがfalseでも、インターフェイスは 他の理由によりpromiscuous(無差別)モードに設定されることに注目してください)。差し当たって、これはdeviceが"any"の時には動 作しません。もし引数が"any"かNULLだったら、promiscフラグは無視されます。to_ms は読み込みのタイムアウトをミリ秒で特定します。読み込みのタイムアウトは、パケットが視認された時に必ずしもすぐにはパケットを返さないで、一回のオペ レーションでOSのカーネルから複数のパケットを読み込むのと、パケットがもっと到達するまでの期間読み込みを待つように調整します。全てのプラット フォームがタイムアウトをサポートしているわけではありませんが、サポートしないプラットフォーム上ではタイムアウトは無視されます。ebuf は、エラーか警告文を返すのに使用されます。pcap_open_live()が 失敗したかNULLを返した時にエラーテキストにセットされます。ebuf は、pcap_open_live()が 成功したときにもまた、警告文にセットされます。このケースを検知するには、呼び出し側はpcap_open_live()を 呼び出す前に、長さ0の文字列を保管して、ebufが長さ0の文字列でないならユーザーに警告文を表示する必要があります。 |
|
||||||||||||
|
非推奨: pcap_open() を代わりに使用してください。パケットを読み込むために、savefileをtcpdump/libpcapフォーマットでオープンします。 pcap_open_offline() は、読み込みのための "savefile" をオープンするのに呼び出されます。fname はオープンするファイルの名前を特定します。ファイルはtcpdump(1) と tcpslice(1)などに使用されるのと同じフォーマットを保持しています。"-"はstdinと同義語です。errbuf はエラーテキスト返すのに使われ、pcap_open_offline()が 失敗してNULLを返した時だけセットされます。 ファイル savefile.c の387行 目の定義 参考 bpf_u_int32, linktype_to_dlt(), PATCHED_TCPDUMP_MAGIC, pcap_fddipad, pcap_strerror(), pcap_t, PCAP_VERSION_MAJOR, snprintf, swap_hdr(), TCPDUMP_MAGIC. 右より参照 main(), pcap_open(). |
|
||||||||||||
|
prefixによって文字列の先頭に追加される接頭辞を付けられた、最後のstderr上のpcapライブラリエラーテキストをプリン トします。
|
|
||||||||||||||||
|
Win32 仕様。生パケット(直接)を送信します。 この関数は、ネットワーク上に生のパケットを送信します。p はパケットを送信する際に使用されるインターフェイスですが、送信するパケットのデータを包含しています(各種のプロトコルヘッダを含めて)。size は、bufによって指されるバッファの規模です。すなわち、送信するパケットのサイズです。MAC CRC は含まれる必要がありません。なぜなら、それは透過的に計算されてネットワークインターフェイスドライバに追加されるからです。パケットの送信が成功すれ ば戻り値は0、他は-1になります。
ファイル Pcap-win32.c の337行 目の定義 参考 PacketAllocatePacket(), PacketFreePacket(), PacketInitPacket(), PacketSendPacket(), snprintf. |
|
|
Win32 仕様。 キューの送信を割り振ります。 この関数は、キューの送信を割り振ります。すなわち、pcap_sendqueue_transmit()に よって、生パケットのセットが格納されたバッファをネットワーク上に伝送させます。 memsize はバイトで表されたキューのサイズです。したがって、キューが含む最大データ量を決定します。 キューにパケットを挿入するには、pcap_sendqueue_queue() を使用して下さい。 ファイル Win32-Extensions.c の 69行 目の定義 |
|
|
Win32 仕様。キューの送信を破棄します。 キューの送信を削除し、関連する全てのメモリ領域を解放します。 ファイル Win32-Extensions.c の94行 目の定義 |
|
||||||||||||||||
|
Win32 仕様。キューの送信にパケットを追加します。 pcap_sendqueue_queue() はパラメータqueueで指されたキューの送信の終わりに、パケットを追加します。pkt_header はパケット長とタイムスタンプで pcap_pkthdr 構造体を指します。pkt_data はパケットのデータでバッファを指します。 pcap_pkthdr 構造体はファイルにパケットを保存するのにWinPcapとlibpcapによって同じように使用されます。したがって、キャプチャファイルの送信は直接 的です。'直接(生)パケット' とは、送信するアプリケーションはプロトコルヘッダを含まなくてはならないことを意味しています。全てのパケットは'そのままで'送信されるからです。パ ケットのCRCは、ネットワークインターフェイスに透過的に追加されるため、計算される必要がありません。 ファイル Win32-Extensions.c の101行 目の定義 |
|
||||||||||||||||
|
Win32 仕様。 ネットワークに直接パケットのキューを送信します。 この関数は、ワイヤー上にキューの中身を伝送します。p はパケットが送信されるアダプタのポインタで、queue は送信するパケットを包含しているpcap_send_queue構 造体を指します(pcap_sendqueue_alloc() と pcap_sendqueue_queue()を 参照)。sync は、送信オペレーションが同期されるかどうかを特定します: 非ゼロであれば、パケットはタイムスタンプを順守して送信されます。それ以外はパケットは出来るだけ早く送信されます。 戻り値は、実際に送信されたバイトの量です。それがsizeパラメータよりも小さければ、送信の間に何らかのエラーが発生したというこ とです。エラーは、ドライバ/アダプタによる問題か、一貫性のないキューの送信により引き起こされます。
ファイル Win32-Extensions.c の120行 目の定義 |
|
||||||||||||
|
Win32 仕様。 アダプタに関連するカーネルバッファのサイズをセットします。 dim はバッファのサイズを、バイトで特定します。呼び出しが成功したときの戻り値は0で、それ以外は-1です。pcap_setbuff()の 以前の呼び出しにより古いバッファがすでに作成されている場合、その古いバッファは削除され内容物は破棄されます。pcap_open_live() はデフォルトで、1MBのバッファを作成します。
ファイル Pcap-win32.c の359行 目の定義 参考 PacketSetBuff(), snprintf. |
|
||||||||||||
|
フィルタをキャプチャに関連付けます。 pcap_setfilter() は、フィルタプログラムを特定するのに使用されます。fp は bpf_program 構造体のポインタで、通常pcap_compile()関 数の呼び出しの結果です。pcap_geterr()が エラーテキストを表示するのに使われるであろう失敗の時は-1 が返されます。成功のときは0が返されます。
ファイル Pcap-win32.cの292行 目の定義 参考 PacketSetBpf(), pcap_setfilter_remote(), pcap_win32strerror(), snprintf. 右より参照 daemon_unpackapplyfilter(), main(). |
|
||||||||||||
|
Win32 仕様。シングルコールでカーネルによって受け取られるデータの最小値をセットします。 pcap_setmintocopy() は、アプリケーションからの読み込みを返すカーネル内のデータ最小値を変更します(タイムアウトが失効しない限り)。size の値が大きい場合、カーネルはユーザーにデータをコピーする前に、 幾つかのパケットが届くように待たされます。このことは、システムコールの低い数字を保証します。すなわち、低いプロセッサ処理、パケットスニッファやプ ロトコルアナライザのようなアプリケーションのセッティングに良いものです。その逆に、この変数の小さな値では、アプリケーションがパケットを受け取れる 体制になるや否や、カーネルはパケットのコピーを開始します。これは、カーネルとの良い反応が必要なリアルタイムアプリケーションにとても役立ちます。
ファイル Pcap-win32.c の377行 目の定義 |
|
||||||||||||
|
Win32 仕様。インターフェイスpの動作モードをmodeにセットします。 modeに有効な値はMODE_CAPT (デフォルトキャプチャモード) と MODE_STAT (統計モード)です。statisutical mode(統計モード)の詳細については、 "ネットワークトラフィックの統計値の収集 " を参照してください。 ファイル Pcap-win32.c の318行 目の定義 参考 PacketSetMode(), snprintf. |
|
||||||||||||||||
|
ノンブロッキングモードとブロッキングモードをスイッチします。 pcap_setnonblock() は、 pcap_open_live() でオープンされたキャプチャ記述子を"ノンブロッキングモード"にセットするか、nonblock引数が非0か0のどちらかに依存しつつ、"ノンブロッキ ングモード"を変更します。"savefiles"上には何の影響もありません。エラーが発生した場合、-1 が返され、errbuf は適切なエラーメッセージを包含します。それ以外は、0が返されます。"ノンブロッキングモード"において、pcap_dispatch()に よるキャプチャ記述子からの読み込みは読み込めるパケットがなければ、パケットをブロックするよりもパケットが到着するのを待ちながら値0をすぐに返しま す。pcap_loop() と pcap_next() は、"ノンブロッキングモード"では作動しません。
参考 PacketSetReadTimeout(), pcap_strerror(), pcap_win32strerror(), snprintf. |
|
|
パケットがアプリケーションに届けられた時に、パケット部分の規模を(バイトで)返します。 pcap_snapshot() は、pcap_open_liveが呼ばれた時に、断片の長さを特定します。 右より参照 pcap_compile(). |
|
||||||||||||
|
非推奨, pcap_stats_ex()
を代わりに使用して下さい。 pcap_stats() は0を返し、pcap_stat構 造体内に埋め込みます。値は、実行開始から呼び出しの時間までのパケットの統計値を表しています。エラーが発生したか根本的なパケットキャプチャがパケッ トの統計値をサポートしない場合は、-1 が返されてエラーテキストがpcap_perror() ないしは pcap_geterr()に よって獲得されます。pcap_stats() は直接キャプチャ上でだけサポートされていて、"savefiles"上ではサポートされていません。"savefiles"内に統計値が保管されないた め、"savefiles"からの読み込みの時は利用可能な統計値はありません。
ファイル Pcap-win32.c の 60行 目の定義 参考 PacketGetStats(), pcap_stats_remote(), pcap_win32strerror(), snprintf. |
|
||||||||||||
|
Win32 仕様。 現在のキャプチャの統計を返します。 この関数は、pcap_stats()関 数と同様の目的と動作を保持していますが、さらにカウンター、実際にキャプチャされたパケット数も返します。
右より参照 pcap_stats_ex(). |
|
documentation. Copyright (c)2002-2003 Politecnico di Torino.
2005 translated by Telebusiness,Inc.
All rights reserved.