関数 |
|
| int | pcap_findalldevs_ex (char *host, char *port, SOCKET sockctrl, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf) |
| pcap_open()によってオープンされるネットワークデバイス
のリストを作ります。 |
|
| int | pcap_createsrcstr (char *source, int type, const char *host, const char *port, const char *name, char *errbuf) |
| 文字列のセット(ホストネーム、ポート等)を受け入れて、 新しいフォーマットに沿った
('rpcap://1.2.3.4/eth0')完全なソース文字列を返します。 |
|
| int | pcap_parsesrcstr (const char *source, int *type, char *host, char *port, char *name, char *errbuf) |
| ソース文字列を解析して、ソースを分割可能にするソースの一部を返します。 |
|
| pcap_t * | pcap_open (const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf) |
| トラフィックをキャプチャ/送信するために、ジェネリックソースをオープンします
(WinPcapのみ)。 |
|
| int | pcap_remoteact_accept (const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf) |
| ネットワーク接続が受け入れられるまでブロックします(アクティブモードのみ)。
|
|
| int | pcap_remoteact_close (const char *host, char *errbuf) |
| アクティブ接続をドロップします(アクティブモードのみ)。 |
|
| void | pcap_remoteact_cleanup () |
| アクティブ接続待機のために現在使用していたソケットを一掃します。 |
|
| int | pcap_remoteact_list (char *hostlist, char sep, int size, char *errbuf) |
| アクティブ接続を保持しているホストのホストネームを返します(アクティブモードのみ)。
|
|
|
||||||||||||||||||||||||||||
|
文字列のセット(ホストネーム、ポート等)を受け入れて、新しいフォーマットに沿った('rpcap: //1.2.3.4/eth0')完全なソースを返します。 この関数はユーザーが、新たなフォーマットに従ったソースを作り出すのを手助けします。独自のソース文字列は、古いアプリケーションで リモート機能を使用しやすくしています。例えばtcpdumpを想像してみてください。tcpdumpにはキャプチャを始める先のインターフェイスを特定 する方法が一つしかありません。ですが、GUIベースのプログラムはホストネーム、ポート、それとインターフェイス名を別々に特定するより良い方法を得る ことが出来ます。そのようなケースにおいて、GUIベースのプログラムはこの関数によりソース文字列をpcap_open() 関数に通す前に作り出すことが出来ます。
ファイル pcap-new.cの495行 目の定義 参考 PCAP_SRC_FILE、 PCAP_SRC_IFLOCAL, PCAP_SRC_IFREMOTE, snprintf |
|
||||||||||||||||||||||||||||
|
pcap_open()関 数でオープンされるネットワークデバイスリストを作り出します。 この関数は古い 'pcap_findalldevs()' 関数のスーパーセットです。pcap_findalldevs()関数は廃止されており、ローカルマシン上にあるデバイスだけを表示します。逆に pcap_findalldevs_ex() 関数はローカルマシン上とリモートマシン上でデバイスを表示できます。さらに、 pcap_findalldevs_ex() はプラットフォーム非依存です。ローカルマシン上のアドレスを取得するために標準の pcap_findalldevs() に頼るからです。 関数がリモートマシン上のインターフェイスを一覧にしなければならない場合、その関数は新たなマシンに対してのコントロール接続をオー プンし、インターフェイスを回収して、接続をドロップします。しかし、もしこの関数がリモートマシンがアクティブモードだということを検知した場合、接続 はドロップされません(詳細は 'sockctrl' 引数を参照のこと)。同様の方法で、すでにアクティブモードにあって接続もオープンされている場合は、現存するソケットが使用されます。 この関数は、新たな構文に沿ったキャプチャデバイスを保持する文字列を作り出すため、 pcap_createsrcstr() 関数に依存します。 pcap_parsesrcstr() 関数はその逆です。
ファイル pcap-new.cの150行 目の定義 参考 pcap_addr::addr, pcap_addr::broadaddr, pcap_addr::dstaddr, host, rpcap_findalldevs_if::namelen, pcap_addr::netmask, pcap_addr::next, pcap_findalldevs(), pcap_strerror(), port, rpcap_checkmsg(), rpcap_createhdr(), rpcap_deseraddr(), RPCAP_MSG_ERROR, RPCAP_MSG_FINDALLIF_REPLY, rpcap_remoteact_getsock(), rpcap_sendauth(), snprintf, sock_cleanup(), sock_close(), sock_discard(), sock_init(), sock_open(), sock_recv(), sock_send(), sock_validaddr() |
|
||||||||||||||||||||||||||||
|
トラフィックをキャプチャ/送信するためにジェネリックソースをオープンします(WinPcapのみ)。 pcap_open() は全ての pcap_open_xxx() 関数をシングルコールで置き換えます。 この関数は、異なるpcap_open_xxx() 関数間の相違を隠します。したがってプログラマは、異なるオープニング関数を管理する必要はありません。このようにして 'true' のオープン関数はソースの型によって決定されます。そしてそれは、ソース文字列に包含されます(ソースの前に付けられる形で)。 この関数は、新たな構文に沿ったキャプチャデバイスを保持する文字列を作り出すため、 pcap_createsrcstr() 関数に依存します。 pcap_parsesrcstr() はその逆です。
881 行目、ファイル pcap-new.c 参考 host, PCAP_BUF_SIZE, pcap_open_live(), pcap_open_offline(), pcap_opensource_remote(), pcap_parsesrcstr(), PCAP_SRC_FILE, PCAP_SRC_IFLOCAL, PCAP_SRC_IFREMOTE, pcap_t, port, snprintf |
|
||||||||||||||||||||||||||||
|
ソースを解析して、ソースを分割可能な一部に返します。 この関数呼び出しは、 pcap_createsrcstr()の 逆のものです。NULL終了文字列を受け取って、ソースに関連している引数に返します。次のものを含みます:
ユーザーは必要のないときに、これら幾つかの引数を省略できます。
636 行目の定義、ファイル pcap-new.c。 参考 host, PCAP_BUF_SIZE, PCAP_SRC_FILE, PCAP_SRC_IFLOCAL, PCAP_SRC_IFREMOTE, port, snprintf 右四厘参照 pcap_open(), pcap_open_live(), pcap_opensource_remote() |
|
||||||||||||||||||||||||||||
|
新たなネットワーク接続を受け入れるまで接続をブロックします(アクティブモードのみ)。 この関数はアクティブモードでクライアントを処理することを可能にする、という定義をされた関数です。つまりアクティブモードにおいて は、サーバーはクライアントに対して接続をオープンするので、クライアントは接続を待機するためにソケットをオープンしなければなりません。新たな接続が 受け入れられた場合、RPCAPプロトコルはいつも通りに開始されます。違いは、接続がサーバーによって開始された、という点だけです。 この関数は一つの接続だけを受け入れます。そして待機しているソケットをクローズします。このことは、エラーが発生した場合に、アプリ ケーションが他の接続を受け入れるためにもう一度この関数を呼び出す、ということを意味しています。 この関数は新たな接続が受け入れられた時に(有効なホスト 'connectinghost'から来るもの)値を返します。それ以外はエラーを返します。
996 行目、 pcap-new.cのファイル。 参照 activeHosts, activehosts::host, hostlist, activehosts::next, pcap_strerror(), port, rpcap_sendauth(), rpcap_senderror(), snprintf, SOCK_ASSERT, sock_check_hostlist(), sock_close(), sock_cmpaddr(), sock_geterror(), sock_init(), sock_open(), sock_validaddr(), activehosts::sockctrl, SOCKET, sockmain |
|
|
アクティブ接続の待機のために、現在使用しているソケットを一掃します。 この関数はとても"汚い仕事"をします。実際は、pcap_remoteaccept() が新しいスレッド内部で消されても、待機しているソケットは開放されません。この関数は、次のpcap_remoteact_accept() 関数呼び出しを実行できるように、ソケットを一掃することが出来ます。 この関数は、新しいスレッド内で、This function is useful *only* if you launch pcap_remoteact_accept() 関数を開始する時とスレッドをストップさせる(強引に)時に"のみ"、有効です(例えば、ユーザーが考えを変えてアクティブ接続を待機する必要がまったく なくなった、等)。ですから基本的には、使用の流れは以下のようになります:
この関数は、この目的以外の他のケースに対しては何の効果もありません。
1249 行目、 pcap-new.cのファイル。 |
|
||||||||||||
|
アクティブ接続をドロップします(アクティブモードでのみ)。 この関数は、"アクティブモード"で応対するクライアントを許可するために定義されました。この関数はまだ所定の場所に存在するアク ティブコネクションをクローズし、"aktiveHost"リストからホストネームを消去します。この点から先は、クライアントはその場所にあるどのホス トとも接続しません。
1153 行目、pcap-new.cのファイル。 参照 activeHosts, activehosts::host, activehosts::next, rpcap_createhdr(), snprintf, sock_cleanup(), sock_close(), sock_cmpaddr(), sock_send(), activehosts::sockctrl. |
|
||||||||||||||||||||
|
アクティブ接続を保持しているホストのホストネームを返します(アクティブモードでのみ)。 この関数は、"アクティブモード"で応対するクライアントを許可するために定義されました。この関数は、現在アクティブ接続を捧持して いるホストのリストを返します。この関数は、まだ所定の場所に存在しているアクティブ接続を削除するのに有効です。
1285 行目、 pcap-new.cのファイル 参照 activeHosts, activehosts::host, hostlist, activehosts::next, RPCAP_HOSTLIST_SIZE, size, snprintf, sock_geterror() |
documentation. Copyright
(c)2002-2003 Politecnico di Torino.
2005 translated Japanese by Telebusiness,Inc.
All rights reserved.