Bashを介してTelnetサービスに接続する方法は?

Bashを介してTelnetサービスに接続する方法は?

私がやりたいことはTelnet経由で接続してデータベースをダウンロードすることですが、方法が見つかりません。私はPythonで試しましたが、接続を閉じるだけでbashスクリプトを使用して実行する方法があるかどうか疑問に思います。

もちろん、何が起こるのかは、それが入力チェッカーであり、それに接続する唯一の方法はTelnet経由です。私が知っているのは最高ではありませんが、それが最善です。

通訳者を想定して接続を確立し、デバイスの周りを移動してこのコマンドを実行できるようになりました。

これは私のコードです

#!/usr/bin/expect
set timeout 20
set name 192.168.1.169
set user "root"
set passwd  "solokey"

spawn telnet $name
expect "ZMM100 login: "
send "$user\r"
expect "Password: "
send "$passwd\r"
expect "#"
send "cd /mnt/mtdblock/data/ \r"
expect "#"
send "rm -rf ZKDB.db.bak \r"
expect "#"
send "cp ZKDB.db ZKDB.db.bak \r"
expect "#"
send "cat ZKDB.db.bak | nc -l -p 6666 \r"
expect "#"

ベストアンサー1

Telnetがトランスポートサービスではなく、データにアクセスできる唯一のオプションであることがわかります。誰かに役立つ場合に備えてコードをアーカイブしました。この方法でTelnet経由でバイオメトリックチェッカーにアクセスするためにデータベースをダウンロードしました。

#!/usr/bin/expect
set timeout 20
set name 192.168.1.169
set user "root"
set passwd  "solokey"

spawn telnet $name
expect "ZMM100 login: "
send "$user\r"
expect "Password: "
send "$passwd\r"
expect "#"
send "cd /mnt/mtdblock/data/ \r"
expect "#"
send "rm -rf ZKDB.db.bak \r"
expect "#"
send "cp ZKDB.db ZKDB.db.bak \r"
expect "#"
send "cat ZKDB.db.bak | nc -l -p 6666 \r"
expect "#"

すでに私たちが実行しているクライアント側でのみ

nc 192.168.1.169 6666 <ZKDB.db.bak

おすすめ記事