この記事は僕の趣味である「パケット遊び」をたくさんの人に知ってもらい、ぜひパケット仲間を増やそう!といった内容の記事です。 What is LibPGEN LibPGEN (りぶ ぴーじぇん) は筆者(@slankdev)がパケット操作を自由に行うために開発した統合パケット操作補助のC++ライブラリです。 簡単なインターフェースで自由にパケットを操作して送受信を可能にしています。 また、既存のパケットを読み込み、ヘッダの値を変えて再度バイナリ生成、などといったことにもできます。 前提知識 今回はARPパケットを使用して遊ぶため、Ethernet, ARPの基礎知識と入門書程度のC++の知識を前提として進めていきます。 一応ARPパケットのおさらい 今回作って遊ぶARPパケットの構造とヘッダについて軽くおさらいします。必要ない人は飛ばしてもらって結構です! ARPはL3のアドレスからL2プロ