バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
各種pcap(packet capture)の説明。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
pcap(packet capture)とは
で、今回は前回お預け喰らったpcapってやつの説明だっけ?
うん。
pcapは(packet capture)の略なんだけど、
同時にAPI仕様でもある。
元々はLinuxのlibpcapがあって、
それをWindowsに移植したのがWinPcap。
お?
ということは、WinPcapが使えばOK?
まぁそうなんだけど、
実は話に続きがあって・・・。
え゛?
WinPcapの歴史
元々のWinPcaは2008年に開発されたんだけど、
2018年に開発終了宣言がされてる。
対応OSはWindows7まででWindows10は含まれていない。
えーー!それは困るよーー!!
あ、でも実は特に気にしなくても動くんじゃん?
うーん、内部で想定されてるNDISのversionが噛み合ってないので
安定性にかけるっぽいねー。
NDISって何?
Wikipediaから持ってきた。
Network Driver Interface Specification (NDIS) は、ネットワークカードのためのAPIの一種である。マイクロソフトとスリーコムが共同で開発し、主に Microsoft Windows で使われているが、オープンソースの NdisWrapper や Project Evil のドライバラッパーにより、NDIS準拠のネットワークカードの多くが Linux や FreeBSD で利用可能となっている。BeOS から派生した ZETA はいくつかの NDIS ドライバをサポートしている。
Wikipediaより
んー?
どういうこと?
一言で言うと、
ネットワークインターフェースドライバ系APIの標準仕様。
ということはこのAPI仕様にVersionがあると?
WinPcapはNDIS 5.x系までで
WinVistaあたりからNDIS 6.x系が入り始めて
Windows10ではNDIS 6.x系が積極的にUpdateが入ってる。
WinPcapではNDIS 6.x系のドライバモデルは拾えないんで、
結果的にWindows10時代では使い物にならない可能性が高い。
って理屈になる。
じゃーどうすんの?!
Win10pcap
そこで登場したのがWin10Pcap。
これはNDIS 6.xに対応している。
おー!!
なんかそのまんまなのが出てきてねー。
これを使えばOKだね!
うーん、実はWin10Pcapもここ数年更新が止まっててー。
まじかーー!!
npcap
で、最後に登場するのがnpcap。
これもNDIS 6.x対応版で今も開発が続いている。
ということは、これ・・・でいいんだよね?
またなんか変な問題あったりしない?
問題が無いかはわからないけど、
現状ではnpcapが一番ネガが少なそうってくらいだねー。
まぁWiresharkで使用されてるpcapも以前はWinpcapだったけど、
今はnpcapに変わってるし、実績も安定性もあると思って良いと思うよ。
じゃーnpcapの線でいろいろ調べて行こう!
まとめ
まとめだよ。
- pcapはpacket capture関連のAPI仕様。
- Windows向けのpcapは以下3種類。
- WinPcap:Windows10では不安定。
- Win10Pcap:Windows10でも問題無いが開発が止まっている。
- npcap:Wiresharkでも使用されており実績がある。
バックナンバーはこちら。
コメント