【Ethernet】車載ネットワーク その45【生パケット送信②】

【Ethernet】車載ネットワーク その45【生パケット送信②】 車載ネットワーク

バックナンバーはこちら。
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でも使用されており実績がある。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました