モデルベース開発

車載ネットワーク

【Ethernet】車載ネットワーク その51【npcap⑥】

npcap 次のパケットを読み込むAPIについて。 次のパケットを読み込むAPIについて説明。 多重ポインタが使われている。 参照先をAPI内で設定してもらう割と一般的な使い方。
車載ネットワーク

【Ethernet】車載ネットワーク その50【npcap⑤】

ネットワーク上のパケットを見るためにパケットキャプチャハンドルを取得のAPIの説明。 open/close系のAPI。 パケット長はとりあえず最大の65535。 プロミスキャスもとりあえず有効でOK。 タイムアウトはそこそこの値を入れておいた方が処理効率が上がる。 スレッドの性格。 各種エラー。
車載ネットワーク

【Ethernet】車載ネットワーク その49【npcap④】

npcapのネットワークデバイスのリストの構築のAPIの説明。 pcap_findalldevsを使用する。 リストは連結リストでfor文で回して走査できる。
車載ネットワーク

【Ethernet】車載ネットワーク その48【npcap③】

npcapでパケット取得で使用したAPIを列挙。 pcap_findalldevs:ネットワークデバイスのリストの構築。 pcap_open_live:ネットワーク上のパケットを見るためにパケットキャプチャハンドルを取得。 pcap_next_ex:次のパケットを読み込んで、成功/失敗の指示を返す。
車載ネットワーク

【Ethernet】車載ネットワーク その47【npcap②】

npcapでパケット取得。 サンプルソリューションの中のpktdump_exでパケットモニタをしてみた。 ネットワークインターフェース名とIDの紐づけを調べる必要がある。 MACアドレス確認。 getmacでMACアドレスとID確認。 上記二つの情報から紐づけを確認。
車載ネットワーク

【Ethernet】車載ネットワーク その46【npcap①】

npcapはnmapプロジェクトから落としてこれる。 Wiresharkをインストールしても一緒に入る。 npcap-SDKを持ってくる。 ビルド環境はVisualStudio 2015 express or communityを想定しているようだんが、Visual Studio 2017 expressでも多分平気。
車載ネットワーク

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

pcapはpacket capture関連のAPI仕様。 Windows向けのpcapは以下3種類。 WinPcap:Windows10では不安定。 Win10Pcap:Windows10でも問題無いが開発が止まっている。 npcap:Wiresharkでも使用されており実績がある。
車載ネットワーク

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

Windowsから生のEthernetFrame送受信をするはめになった。 生Socketが扱えないWindowsだとやや困難。 パケットアナライザ、ネットワークアナライザ、スニファというものが存在。 Wiresharkが有名。 Wiresharkは生のEthernetFrameを読み取れる。
車載ネットワーク

【Ethernet】車載ネットワーク その43【lwIP疑似受信⑥】

IPフラグメントの受信フレーム順違いに対応するための設計手法。 IPフラグメントの順番入れ替えの判定のソースコードと該当関数説明。 Ethnertフレームを連結リストで管理。 連結は常にソートされた状態。 開始位置と完了位置を持ってパケットの完全性を評価している。
車載ネットワーク

【Ethernet】車載ネットワーク その42【lwIP疑似受信⑤】

IPフラグメントの受信フレーム順違いを再現する疑似受信結果。 IPフラグメントの受信フレーム順番入れ替えをしても受信した。 ログも確認したが、最終フレームで打ち切ってることはしていない。