パケットキャプチャ方法


bird  2007-01-24 01:00:56  No: 64265

WinPcapを利用してパケットキャプチャを行ったことがある方いますでしょうか・・・

WinPcapのpcap_next_ex関数はパケットを取得する関数と記述されています。送信側から受信側へパケットを送信し、両者にWinPcapを用いてパケットキャプチャを行おうと思っていたのですが、送信側ではキャプチャできていますが、受信側ではできていませんでした。

pcap_next_ex関数は、アプリケーションからデータリンク層へパケットが流れる場合は使えるが、データリンクからアプリへのキャプチャは違う関数を利用しなければならないのでしょうか?

よろしくお願い致します。


オショウ  2007-01-25 09:45:11  No: 64266

まず使用言語は何でしょう?

尚、WinPcapは多数サンプルコードもあり、動作させるに問題になる
とは思えませんが・・・

私は、VS.NET 2003/2005 で、WinPcap使って実際にキャプチャ機能
をアプリに組み込んで動作させていますが、パケットキャプチャが
ある環境下において『できない』と言うのは、通信すらできていな
いか、もしくは設定がうまくできていないように思われます。

.NETのサンプルなら・・・
http://codezine.jp/a/article/aid/126.aspx
ここを紹介しておきましょう

以上。


bird  2007-01-27 07:16:49  No: 64267

返信ありがとうございます。

>まず使用言語は何でしょう?
VC++.NETでC言語を活用しています。

オショウさんのご提示していただいたキャプチャソフトと、もう一件ネットで見つけたプログラムを参考に、自分のプログラムに実装しています。
ありがとうございます。

ここで、まだ分からないことがあるのですが・・・
pcap_findalldevs
pcap_open_live
pcap_next_ex関数を用いてキャプチャする?ということは分かりました。

pcap_next_exでパケットを取得し、MACヘッダ、IPヘッダ、UDPやTCPヘッダ内の情報をキャプチャしているのですが、このキャプチャをしている層は、データリンク層でのキャプチャなのでしょうか?

初歩的な質問で申し訳ありません。

また、データリンク層でのフレーム単位でパケットをキャプチャーし、フレーム数をカウントしたいのですが・・・カウントの指標としてなにが考えられるのでしょうか?

送信側→受信側のとき、送信側のデータリンク層でパケットをキャプチャしたいと思っています。

よろしくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加