出席デバイスを実行していLinux OS
ます。このデバイスをtelnetセッション経由で接続できます。デバイスには、新しいファイルをダウンロードしてアップロードしたいファイルがいくつかあります。どうやってやるの?Linux OSの知識が非常に少ない。助けてください!
出席デバイスを実行していLinux OS
ます。このデバイスをtelnetセッション経由で接続できます。デバイスには、新しいファイルをダウンロードしてアップロードしたいファイルがいくつかあります。どうやってやるの?Linux OSの知識が非常に少ない。助けてください!
回答:
これは、どのツールがクライアントデバイスにインストールされているか、カーネルによってサポートされているかによって異なります。
ファイル転送の可能な方法(順序なし):
netcat
またはsocat
orまたはwith bash
および/ dev / tcpを使用した単純なtcp接続経由wget
またはcurl
Webサーバーからのダウンロード単純なファイル転送と、シリアルコンソールさえあればホストにファイルを取得する方法をお読みください。より多くの可能性について。
desktop.jpg
netcat / ncメソッドを使用して、デバイスからPCにコピーします。PCで、ファイアウォールを一時的に無効(または可能であれば再構成)し、実行します
netcat -l -p 10000 > desktop.jpg
そしてデバイス上
busybox nc A.B.C.D -p 10000 < desktop.jpg
ABCDをPCのIPアドレスに置き換える必要がある場所。転送が成功するとすぐに、PCのnetcatプロセスが自動的に停止します。そうでない場合は、何かが間違っているとあなたはそれを止めることができますCtrl+C
他の方向については、単に交換<
および>
両側に。最初に元のバックアップを作成しますdesktop.jpg
(cp desktop.jpg desktop_orig.jpg
)。
sz
ターミナルを使用してファイルを送信することもできます。両側で必要になります。
デバイスにsshまたはftp(またはその他)がありません。
だから、私は次のことをします:
telnet a.b.c.d | tee telnet.log
cat file.txt
telnet.log
ゴミからクリアTelnet経由でファイルをダウンロード/アップロードするユーティリティを簡単に作成できるはずです。
@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
〜7 Kbファームウェアファイルをシリアルポート経由でBusyBoxベースのLinux組み込みシステムにアップロードしました。
ネットワーキングもファイル転送ユーティリティもありません。Base64 utilsまたはデバイス上でリモートで役立つものはありません。
ホストでは、ファームウェアを次の形式に簡単にエンコードしました。printf
コマンドと組み合わせたシェルリテラルで構成される一種の16進ダンプ:
printf "\xDE\xAD\xBE\xEF\x...\xF0"
printf "\xCA\xFE\x33\xE1\x...\xD3"
基本的に、解釈printf
する\x
エスケープシーケンスを使用したシェルコマンドprintf
。私がしたデバイスで:
device $ cat > firmware.sh
次に、minicom
のASCIIファイル送信を使用しました(Ctrl-AS)をこのファイルをホストに送信しました。データ量が少ないため、コピーアンドペーストを使用することもできます。
次に、実行可能とマークし、printf
スクリプトを実行しました。
device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin
BusyBoxの使用のチェックmd5sum
というfirmware.bin
して、デバイス上チェックサムがホスト上の元のファームウェアイメージと一致するました。
PSシェルの二重引用符構文\x
は、認識されたエスケープシーケンスではないため、逐語的に通過します。したがって、バックスラッシュを2倍にする必要はありません。
次の方法を使用して、Telnet経由で小さなバイナリファイルをWindowsボックスにダウンロードします。
busybox --help
andls -l /bin
との出力をどこかに貼り付けてls -l /usr/bin
ください。