netcatソースファイルのパケット区切り記号

netcatソースファイルのパケット区切り記号

netcatにファイル内のパケットごとに送信するバイト数を知らせる区切り文字または方法はありますか?できるだけ早く転送する必要があるため、スクリプトからnetcatを複数回呼び出すことはできません。

mnc(マルチキャストnetcat)を使用して、バイナリデータを含むUDPパケットをファイルにキャプチャし、次のように再生してみました。

#マルチキャストパケットを230.250.5.1 12340に送信するプログラムを起動します。

# mnc パケットのキャプチャを開始します。

 $mnc -l -i eth1 -p 12340 230.250.5.1 >capturefile

... # netcatを使用してデータパケットを再生し、230.250.5.1 12345に送信します。

 $netcat -c -w 1 -u -s 10.20.30.40 230.250.5.1 12345 <capturefile

キャプチャファイルに送信したいパケットがあるようです。

netcatで再生すると、パケットが接続されます。パケットキャプチャ中、UDPパケットサイズは208で、Wiresharkはパケットサイズを250とマークし、ここにイーサネットバイトが含まれているとします。再生中、Wiresharkはパケットサイズが1016であることを示しています。

ベストアンサー1

これは不可能ですが、socat代わりに使用する場合は、次のようにnetcat固定ブロックサイズを簡単に設定できます-b

socat -b 208 - udp4:230.250.5.1:12345 <capturefile

可変長データがある場合とtcpdumpファイル形式の使用tcpreplayを検討できますpcap

おすすめ記事