サーバーでTelnetが実行されているかどうかをどのように検出しますか?

サーバーでTelnetが実行されているかどうかをどのように検出しますか?

LAN接続できるデジタルオシロスコープがあります。telnetスコープで動作しているかどうかを確認したいと思います(このマニュアルではそうではありませんが、マニュアルにはLANポートに関する有用な情報はありません)。

netcatとtelnetを使って接続しようとしましたが、成功しました。このtelnetコマンドは接続を確認しますが、TCPポート(使用済み)への接続のみを表示できますwireshark

私がtelnet知っているプロトコルによれば、外部から見ると有人TCPポートのように見え、ネゴシエーションコマンドの設定はオプションなので、応答なしで送信することは説得力がありません。

編集する:興味のある方は、スコープは五原SDS7102Eです。 LAN接続に興味がある場合は、この範囲を購入しないでください。文書はデフォルトでは存在しません(「LANはUSBと同じです」と表示されます)。製造業者は助けを求める(または少なくとも答えた)ことに興味があるようですが、まだ実際の解決策はありません。

答え1

ファイルに3行を追加して、クライアントからTelnet接続をデバッグできます~/.telnetrc

scope
 set netdata
 set options

スコープのホスト名はどこにscopeありますか?これは列1になければならず、残りの2行はスペース1とインデントする必要があります。

Telnetを実行すると、読み書きしたデータと送受信したコマンド(存在する場合)が表示されます。

範囲が応答することを確認するために、明示的な Telnet ネゴシエーション コマンドを送信できます。リモコンがすでにあると思う値に設定を変更しても応答しないため、コマンドとは逆のコマンドを試す必要があるかもしれません。たとえば、control-]コマンドモードに入るために入力すると、「Are you there?」というメッセージが送信されます。

telnet> send ayt
> 0x0   fff6
< 0x0   74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d
< 0x20  0d0a
td: recv IAC AYT

[scope : yes]

そしてデータ>ライン<は結果ですset netdata。交渉ラインtd:が結果だset options。 (表示されない場合は、rcファイルが無視されている可能性があるため、コマンドモードで明示的に入力してください。)

エコーをオンにしてからオフにしてからもう一度入れます。

telnet> send do echo

telnet> send dont echo
> 0x0   fffe01
< 0x0   74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420
< 0x20  776f6e74204543484f0d0a
td: recv dont ECHO
td: send wont ECHO

telnet> send do echo
> 0x0   fffd01
< 0x0   74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769
< 0x20  6c6c204543484f0d0a
td: recv do ECHO
td: send will ECHO

答え2

に接続することができますどの後に Telnet サーバーがない場合でも、Telnet ポートを使用してください。ポートでクライアントが最初に何かを送信すると期待している場合、接続時に何も表示されません。これはあなたが経験しているのと同じです。

したがって、Telnet サーバーが稼働していて入力を待っている場合、他のサーバーが稼働している可能性があり、接続可能なふりをするファイアウォール機能がある可能性があります。単独で話すのは難しいですtelnet

不明なデバイスでどのサービスが実行されているかを調べるには、プローブを使用することをお勧めしますnmap

関連情報