どのサービスがTCP接続を許可しますか?

どのサービスがTCP接続を許可しますか?

私は最近ソケットプログラミングを学んでいて、ちょうどtcp / ipソケットを学び始めました。私の学習資料daytimeを実行してlocalhostサービスに接続する例を見ると、telnet 127.0.0.1 13予想される結果はTelnetセッションを開く必要があることです。daytime 13/tcp私のファイルに ""エントリがあり、/etc/servicesサービスxinetdが実行されていますが、telnetコマンドを試みるとすぐに "接続が拒否されました"というメッセージが表示されます。

尋ねる:週間サービス業務にリモートでログインできないのはなぜですか?

尋ねる:Telnet接続を許可できる他のローカルホストサービスはありますか?tcpエントリを含むランダムなサービス選択にTelnet接続を試みましたが、/etc/servicesすべて同じ「接続拒否」エラーが発生しました。

私の短期的な目標は、localhost tcpサービスへのTelnet接続に成功した学習資料を複製することです。それ以外の場合inetdは、実行を通じて学びたい他のタスクを実行します。

>telnet 127.0.0.1 13
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
>telnet 127.0.0.1 49000
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
>telnet 127.0.0.1 9009
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
>uname -a
Linux linuxbox 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

ベストアンサー1

/etc/services実際に実行されているサービスを表すものではありません。バラより/etc/servicesの目的。実行中のサービスを検索または開始する必要があります。あなたはそれを見るとあなたが何を聞いているのかを知ることができますnetstat -nlt。具体的なサービスはさまざまですが、次のように表示されます。

$ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp6       0      0 :::3306                 :::*                    LISTEN
tcp6       0      0 :::111                  :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:631                 :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN

だから:

  1. daytimeサービスが実行されていない可能性があります。リストに表示されない場合(上記のリストで私が実行していないことがわかります)、そのポートでリッスンしているものは何もありません。サービスがインストールされている場合は、サービスを開始できます。
  2. 何がインストールされアクティブになっているかに応じて、他の多くの潜在的なサービスがあります。上記のリストでは、ポートは25メールサービスをリッスンしています。だから、telnetポート25を介して接続することができます。 Telnetはデフォルトでインストールされていないため、connectを使用しますが、nc原則は同じです。

    $ nc 127.0.0.1 25 220 centos7.feedthecoder.com ESMTP Postfix HELO me.theworld.com ...

編集:コメントで述べたように、これは確かにファイアウォールの問題かもしれません。通常、インストールのためブロックされませんが、127.0.0.1常に可能です。

また、ディストリビューションによってはインストールdaytimeできない場合があり、これは追加の障害になる可能性があります。インストールされている場合は、通常のサービスの開始(または同等のディストリビューションなど)から起動できる必要があります。service start daytime

編集:これはdaytime内部サービスとしてのみ利用可能であることがわかりました。xinetdしたがって、サービスのリストに関する上記の情報が正しい間に、そのサービスがインストールされ、ファイルが設定されていることをdaytime確認してください。xinetd/etc/xinetd/daytime-streamdisabledno

おすすめ記事