これがネットワーク問題であっても、経験豊富なUnix/Linuxユーザー問題だと言いたいと思います。
頑張ってる手動でネットワークを送信する魔法のバッグを使ってエコとリダイレクター(ファイル記述子)。
これは一つですはいコンピュータを起動するには、ネットワークブロードキャスト(255.255.255.255)を介してデータを転送する必要があります。Mac 00:17:31:3F:D3:A9(FFFFFFFFFFFFの後にコロンなしで16回のMACが続きます):
ffffffffffff0017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a9
通常のプログラムでWake on LANマジックパケットを送信しました(IH月またはwakeonlan
Linux用のツール)は私にとってうまくいきます。キャプチャされますWireSharkのネットワークトラフィック:
強調表示されている緑色の部分を参照してください。魔法の袋は正しく16進数で送信されます。
今この絶好の機会リダイレクターエコ方法。
IPアドレス、UDPプロトコル、ポート番号4000をブロードキャストするためにマジックパケットをエコーします。
exec 6<>/dev/udp/255.255.255.255/4000
echo "ffffffffffff0017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a90017313fd3a9" >&6
結果がない(リモートコンピュータを起動できません。)WireSharkのパケットキャプチャです。その他:
binary area
ご覧のとおり、マジックパケットはメッセージの右側(!)にあります。左側の領域にはそれぞれが(ASCIIコードと仮定)F
と表示され、それぞれは...などで表されます。ところで、WireSharkはデータを「MagicPacket」として検出しません。66
0
30
何ですか正しい送信方法データをシェル経由でネットワークカードに直接転送できますか?
PS:この問題をServerFaultに移動する必要がありますか?私はこれがASCIIまたはバイナリ変換の問題の16進数のようなものだと思います。
答え1
本当に簡単です。
- 次へ追加16進仕様 "\x"2文字ごとに。
echo -e
16進数の場合説明した。他のシェルで異なる操作が行われるため、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アドレスを使用できません。これで切り替える時間ですnetcat
。socat
。