web-dev-qa-db-ja.com

Telnetセッションを介したファイルのダウンロードとアップロード

出席デバイスを実行していますLinux OS。 Telnetセッションを介してこのデバイスを接続できます。デバイスにダウンロードして新しいファイルでアップロードしたいファイルがいくつかあります。どうやってやるの? Linux OSに関する知識は非常に低いです。手伝ってくれませんか!

enter image description here

16
PRdeep Kumawat

これは、クライアントデバイスにインストールされているツールやカーネルでサポートされているツールによって異なります。

ファイル転送の可能な方法(順不同):

  • ssh/sftp
  • バイナリファイルをbase64/uuencodeで表示可能な形式にエンコードし、Telnetターミナルウィンドウから/へコピーします。
  • netcatまたはsocatまたはbashと/ dev/tcpを使用した単純なtcp接続経由
  • webサーバーからwgetまたはcurlを使用してアップロード/ダウンロード
  • コマンドラインFTPクライアントを備えたFTPサーバー
  • sambaまたはnfsマウント

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.jpgcp desktop.jpg desktop_orig.jpg)。

13
jofel

デバイスにsshやftp(など)がありません。

だから、私は次を行います:

  1. telnet a.b.c.d | tee telnet.log
  2. ログインしてファイルに移動
  3. cat file.txt
  4. セッションを閉じる(tmuxペインを閉じる)
  5. 晴れ telnet.logゴミ箱から

Telnet経由でファイルをダウンロード/アップロードするユーティリティを簡単に作成できる

6
user104415

〜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倍にする必要はありません。

1
Kaz

rcpコマンドで試してください。

使用する man rcp転送を自動化する場合の詳細については。

ちなみに、あなたはこれが非常に安全ではないであることを知っていますか?

1
YoMismo

@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

0
PRdeep Kumawat

私は今、これらの方法でこれを行いました:

ウィンドウシステムに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

0
prdeepkumawat