#パケットキャプチャドライバについて
wireshark単体ではパケットを自由に取得できない。ネットワークを流れるパケットを得るためには、パケットキャプチャドライバが必要。
ドライバの種類
ドライバ | 説明 |
---|---|
winpcap | 以前wiresharkに同梱されてたwindows用ドライバ |
airpcap | windows用の無線LANパケットキャプチャドライバ |
libpcap | UNIX/Liux用のパケットキャプチャドライバ |
Npcap | Nmapプロジェクトが作成したNDIS互換のwindows用のパケットキャプチャドライバ(wiresharkに同梱されている 21/10/20現在) |
win10pcap | winpcapを基に、NDIS 6.Xに対応したパケットキャプチャドライバ |
###Nmapとは
ネットワーク調査およびセキュリティ監査を行うためのオープンソースのツールである。ポートスキャナが有名。
ポートスキャナとは、インターネットなどのTCP/IPネットワークに接続されたコンピュータにアクセスし、どのポートでサービスが提供されているか(接続可能か)を調べるソフトウェア。 このような探索行為のことは「ポートスキャン」(port scanning)という。
###NDIS
network driver interface specificationのライブラリを使用しており、ループバックインターフェースを利用できる点があげられる。
ループバックインターフェースは、ループバックアドレスが割り当てられている。
###ループバックアドレスとは
ループバックアドレスとは、ネットワークカードなどに割り当てられた特殊なIPアドレスで、そのコンピュータ自身を示すIPアドレスのこと。あるコンピュータがネットワークを通じて提供している機能に自身で動作する別のソフトウェアからアクセスする場合や、ネットワークを利用するソフトウェアのテストなどに用いられる。
ループバックアドレスはネットワーク上において自分自身を表す仮想的なアドレスであり、IPv4においては「127.0.0.1」、IPv6においては「::1」(0:0:0:0:0:0:0:1)が使われる。また、ホスト名としては慣用的に「localhost」が用いられる。
IPv6ではループバックアドレスは「::1」しか用いることができないと定義されているが、IPv4の「127.0.0.1」は慣習的に決められたもので、正式なものではない。このため、OSによってはこれ以外のIPアドレスをループバックアドレスとして使用できる場合もある(が、通常は別のアドレスは使わない)。
##なぜパケットキャプチャドライバが必要?
ソケットを経由してパケットを送受信するが、ソケットを経由するとネットワークを流れるデータを直接キャプチャできなくなる。
なので、ドライバを導入すると、ソケットをバイパス(回避、迂回路)し、直接wiresharkなどのLANアナライザなどでネットワークを流れるパケットを操作可能になる。
パケットキャプチャドライバは、プロミスキャスモードと呼ばれる特殊な設定で動作させることができる。普通のネットワークインターフェースカード(LANカード)では、基本的に自分に関係しているパケットしか受け取らない。なので、ほかのPCの通信はキャプチャできない。それを、プロミスキャスモードにLANカードの設定を変更し、すべてキャプチャできる状態にすることができる。