出席デバイスを実行していLinux OSます。このデバイスをtelnetセッション経由で接続できます。デバイスには、新しいファイルをダウンロードしてアップロードしたいファイルがいくつかあります。どうやってやるの?Linux OSの知識が非常に少ない。助けてください!

出席デバイスを実行していLinux OSます。このデバイスをtelnetセッション経由で接続できます。デバイスには、新しいファイルをダウンロードしてアップロードしたいファイルがいくつかあります。どうやってやるの?Linux OSの知識が非常に少ない。助けてください!

回答:
これは、どのツールがクライアントデバイスにインストールされているか、カーネルによってサポートされているかによって異なります。
ファイル転送の可能な方法(順序なし):
netcatまたはsocatorまたはwith bashおよび/ dev / tcpを使用した単純なtcp接続経由wgetまたはcurlWebサーバーからのダウンロード単純なファイル転送と、シリアルコンソールさえあればホストにファイルを取得する方法をお読みください。より多くの可能性について。
desktop.jpgnetcat / 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.logcat file.txttelnet.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 --helpandls -l /binとの出力をどこかに貼り付けてls -l /usr/binください。