出席デバイスを実行していますLinux OS
。 Telnetセッションを介してこのデバイスを接続できます。デバイスにダウンロードして新しいファイルでアップロードしたいファイルがいくつかあります。どうやってやるの? Linux OSに関する知識は非常に低いです。手伝ってくれませんか!
これは、クライアントデバイスにインストールされているツールやカーネルでサポートされているツールによって異なります。
ファイル転送の可能な方法(順不同):
netcat
またはsocat
またはbash
と/ dev/tcpを使用した単純なtcp接続経由wget
またはcurl
を使用してアップロード/ダウンロードSimple file transfer と シリアルコンソールのみの場合にホストにファイルを取得する方法 を読んで、さらに多くの可能性を見つけてください。
desktop.jpg
netcat/ncメソッドを使用してデバイスからPCに:PCで、ファイアウォールを一時的に無効化(または可能であれば再構成)して実行します
netcat -l -p 10000 > desktop.jpg
そしてデバイス上
busybox nc A.B.C.D -p 10000 < desktop.jpg
a.B.C.DをPCのIPアドレスに置き換える必要がある場所。転送が成功するとすぐに、PCのnetcatプロセスが自動的に停止します。そうでない場合は、何かが間違っているので、それを止めることができます Ctrl+C
反対方向の場合は、<
および>
両側に。最初に元のバックアップを作成しますdesktop.jpg
(cp desktop.jpg desktop_orig.jpg
)。
デバイスにsshやftp(など)がありません。
だから、私は次を行います:
telnet a.b.c.d | tee telnet.log
cat file.txt
telnet.log
ゴミ箱からTelnet経由でファイルをダウンロード/アップロードするユーティリティを簡単に作成できる
〜7 Kbファームウェアファイルをシリアルポート経由でBusyBoxベースのLinux組み込みシステムにアップロードしました。
ネットワーキングなし、ファイル転送ユーティリティなし、デバイス上でBase64ユーティリティやリモートで役立つものなし
ホストでは、ファームウェアを簡単に次の形式にエンコードしました。 printf
コマンドと組み合わせたシェルリテラルで構成される一種の16進ダンプ:
printf "\xDE\xAD\xBE\xEF\x...\xF0"
printf "\xCA\xFE\x33\xE1\x...\xD3"
基本的に、printf
が解釈する\x
エスケープシーケンスを含むShell printf
コマンド。私がしたデバイスで:
device $ cat > firmware.sh
次に、minicom
's ASCII file send(Ctrl-AS)このファイルをホストに送信します。データの量が少ないので、コピーと貼り付けを使用することもできました。
次に、実行可能ファイルをマークし、printf
スクリプトを実行しました。
device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin
BusyBoxのmd5sum
を使用して、デバイスのfirmware.bin
チェックサムがホストの元のファームウェアイメージと一致することを確認しました。
追伸シェルの二重引用符の構文は、認識されたエスケープシーケンスではないため、\x
をそのまま通過します。したがって、バックスラッシュを2倍にする必要はありません。
rcp
コマンドで試してください。
使用する man rcp
転送を自動化する場合の詳細については。
ちなみに、あなたはこれが非常に安全ではないであることを知っていますか?
@jofelと他のすべての皆さん、本当にありがとうございました。一部の特定のLinuxコマンドのみを認識したため、デバイスにはカスタマイズされたosがインストールされていると思います。 netcatはデバイスによって認識されません。しかし今日、私はtftpコマンドを使用してファイルを転送することに成功しました。このコマンドでdesktop.jpgファイルを正常に置き換えました。私がしたことは、ウィンドウシステム上にtftpサーバーを作成したことです。デバイスでtelnetを介してログインし、次のコマンドを実行します。
ダウンロードファイルtftp -l -p tftp -l desktop.jpg-192.168.0.249 69
ファイルのアップロードtftp -l desktop.jpg -g 192.168.0.249 69
私は今、これらの方法でこれを行いました:
ウィンドウシステムにftpサーバーを(solerwindsをインストールして)作成します。デバイスでtelnetを介してログインし、次のコマンドを実行します。
ファイルをダウンロードするには:
tftp -l <FileName> -p <TFTP Server IP> <Port No of TFTP>
例:
tftp -l desktop.jpg -p 192.168.0.249 69
またはファイルをアップロードするには:
tftp -l <FileName> -g <TFTP Server IP> <Port No of TFTP>
例:
tftp -l desktop.jpg -g 192.168.0.249 69
tftpファイルのデフォルトの場所はC:\TFTP-Root