事実上、あなたがやろうとしているのは、ファイルに既にある生データを UDP または TCP および IP ヘッダーでラップし、「ラップされた」データ出力を取得することのように見えますか? TCP は双方向プロトコルであり、「ラップされた」ストリームはリモート サイトからの応答 (再送信、パケット サイズなど) に依存するため、これは問題になることに注意してください。
これを達成するための簡単で汚い方法の 1 つは、データをリモート ホストに送信することです (UDP の場合は存在しない可能性がありますが、TCP の場合はリモートでリッスン ソケットが必要です。IPv6 の場合は netcat または netcat6 経由でこのデータを送信できます)。 . 次に、同じマシンで tcpdump または wireshark を実行して、完全にラップされたストリームを PCAP 形式のファイルにキャプチャできます. この PCAP では、生データがパケット化されます (UDP/TCP、IP、およびイーサネット ヘッダー内のデータ)
あなたのアプリケーションでは、データを使用する前にイーサネット ヘッダーを取り除きたいと思うでしょう。
この質問に対する以前の回答では、hping を推奨していました。これにより、必要な結果を得るまでの学習曲線が長くなる代わりに、柔軟性が向上する可能性があります。