この記事は Rust Advent Calendar 2018 の3日目の記事です。 本記事では、タイトルの通り、Rustでマルチインターフェースパケットキャプチャを実装します。 今回の記事で達成したい目標は以下2点です。 Rustでネットワークプログラミングをしたい マルチインターフェースにすることでマルチスレッド対応したい どうやって低レイヤを扱うか Rustでネットワークプログラミングを行うには、libpnetが便利なので、今回はこちらを利用します。libpnetを使えるようCargo.tomlには以下を記載しておきます。 [dependencies] serde = "1.0" serde_derive = "1.0" [dependencies.pnet] version = "0.21.0" アーキテクチャ 今回実装するパケットキャプチャのアーキテクチャは以下です。 I/F1か
![Rustでマルチインターフェースパケットキャプチャを実装する - 逆さまにした](https://cdn-ak-scissors.b.st-hatena.com/image/square/4b8531ff42d99e56c712510966721a1ea3f23dca/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcipepser%2F20181202%2F20181202012641.png)