文字をネットワークに直接エコーできますか?

文字をネットワークに直接エコーできますか?

これがネットワーク問題であっても、経験豊富なUnix/Linuxユーザー問題だと言いたいと思います。

頑張ってる手動でネットワークを送信する魔法のバッグを使ってエコとリダイレクター(ファイル記述子)。
これは一つですはいコンピュータを起動するには、ネットワークブロードキャスト(255.255.255.255)を介してデータを転送する必要があります。Mac 00:17:31:3F:D3:A9(FFFFFFFFFFFFの後にコロンなしで16回のMACが続きます):

ffffffffffff0017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a9

通常のプログラムでWake on LANマジックパケットを送信しました(IH月またはwakeonlanLinux用のツール)は私にとってうまくいきます。キャプチャされますWireSharkのネットワークトラフィック:

マジックバッグの仕事

強調表示されている緑色の部分を参照してください。魔法の袋は正しく16進数で送信されます。

今この絶好の機会リダイレクターエコ方法。
IPアドレス、UDPプロトコル、ポート番号4000をブロードキャストするためにマジックパケットをエコーし​​ます。

exec 6<>/dev/udp/255.255.255.255/4000
echo "ffffffffffff0017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a9" >&6

結果がない(リモートコンピュータを起動できません。)WireSharkのパケットキャプチャです。その他:

マジックバッグは機能しません。

binary areaご覧のとおり、マジックパケットはメッセージの右側(!)にあります。左側の領域にはそれぞれが(ASCIIコードと仮定)Fと表示され、それぞれは...などで表されます。ところで、WireSharkはデータを「MagicPacket」として検出しません。66030

何ですか正しい送信方法データをシェル経由でネットワークカードに直接転送できますか?

PS:この問題をServerFaultに移動する必要がありますか?私はこれがASCIIまたはバイナリ変換の問題の16進数のようなものだと思います。

答え1

本当に簡単です。

  • 次へ追加16進仕様 "\x"2文字ごとに。
  • echo -e16進数の場合説明した。他のシェルで異なる操作が行われるため、printf使用することもできます。echo

同じサンプルデータを使用:

echo -e "\xff\xff\xff\xff\xff\xff\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9\x00\x17\x31\x3f\xd3\xa9" >&6

今回はコンピュータが目覚めなければなりません。

  • ノート:すべてのシェルはそうではありませんこの機能をサポートしてください。実際に少数だけがそうします。引用するこのスレッド誰がそうしたのか調べてください。私のために、シビン最新バージョンのWindows(2015年6月)はBash 4.3.39(2)-release (i686-pc-cygwin)完全に実行されます。
  • ノート2:残念ながら、Ubuntu(v14.04)とKali(v1.1.0)はサポートしていない今日は説明したようにこのスレッド。ネットワーク互換性の問題により、Bash で無効になっている可能性があります。
  • ノート3/dev/protocol/host/port:まあ、これが正しいアプローチではないと報告した人々(上記のスレッドを参照)が絶対に正しいことを認めなければなりません。たとえば、16進コードは\x0aネットワークデータグラムの一部の制御コードとして機能し、パケットを分割します。したがって、0a:11:22:33:44:55この方法ではMACアドレスを使用できません。これで切り替える時間ですnetcatsocat

関連情報