バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
BLFのEthernetFrameの解析が終わったと思ったら新しい要求が。
登場人物
博識フクロウのフクさん

イラスト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
新しい要求

フクさーん!
たーすーけーてーーーー!!

どうした!

実は・・・。
※ ここから回想
顧客:「BLF、EthernetFrameの解析が無事出来るようになって一安心です。」
上司:「いやー、我が社にしてみればチョロいもんですよ!」

(あー、恒例の小芝居か。)
顧客:「ところで、このEthernetFrameをそのまま送信ってできるんですかね?」
上司:「できるんじゃないですかね?」
顧客:「おー!実は車載機対して収録したEthernetFrameを送っていろいろ検証したいのですよ!」
上司:「なるほど!CANの時に似たようなことしましたし、チョロいもんですよ!」
顧客:「では、今回もよろしくお願いしますね!」
上司:「よし!太郎!ちゃんとやるんだぞ!!」
太郎くん:「・・・。」
※ 回想ここまで

・・・。

・・・。

たーすーけーてーーーー!!

(あ゛ーーーーー)
EthernetFrame送出はチョロいのか?

ちなみにBLFに入ってたEthernetFrame送出をそのまま送出するのってチョロいの?

うーん、環境によるかな?
例えばLinux環境とかだと生socketとかで生のEthernetFrameの送受信はできるけど。
WindowsでXP以降の環境だと生socketはサポートしてないから、生のEthernetFrameを扱うのはちょっと面倒になるかな。

\(^o^)/オワタ―

あー、Windows確定なのね。

いや待て!
フクさんは
「ちょっと面倒になるかな」
って言った!!
ということは、手段が無いわけでは無いってことだ!!!!

(ビクッ)

言ってないよー。(めんどくさい)

たーすーけーてーーーー!!

あー、わかったわかったー。(めんどくさい)
パケットアナライザ、ネットワークアナライザ、スニファ

世の中には
パケットアナライザ、ネットワークアナライザ、スニファ
と呼ばれるツールが存在する。

もしかして、LAN上のパケットを覗き見るやつ?

うん。
有名どころだとWiresharkってのがあるね。


お、フリーなパケットアナライザか。
生パケット送出方法

で、これが今回の話とどうつながるの?

このWiresharkは生のEthernetFrameをフレームを拾うことができる。
これはWindows版のWiresharkでも可能なんだよ。

んー?
Windowsは生のEthernetFrameを扱えないんじゃないの?

厳密には生Socketをサポートしていないだけ。
つまりSocket経由のデータリンク層アクセスができないってだけだね。

つまりWiresharkはSocket以外の機能で生のEthernetFrameを拾ってる??!

そうそう。
答えはpcapってライブラリを使用している。

pcap?

というあたりで次回!

(まじかー!生殺しだー!)
まとめ

まとめだよ。
- Windowsから生のEthernetFrame送受信をするはめになった。
- 生Socketが扱えないWindowsだとやや困難。
- パケットアナライザ、ネットワークアナライザ、スニファというものが存在。
- Wiresharkが有名。
- Wiresharkは生のEthernetFrameを読み取れる。
pcapというライブラリを使用して実現しているらしい。
バックナンバーはこちら。
コメント