哪些服务接受 TCP 连接?

哪些服务接受 TCP 连接?

我最近一直在学习套接字编程,并且刚刚开始学习 tcp/ip 套接字。我的学习资料daytime给出了一个通过运行连接到 localhost 服务的示例telnet 127.0.0.1 13,预期结果是应打开 telnet 会话。daytime 13/tcp我的文件中有一个“ ”条目/etc/services,并且xinetd服务正在运行,但是当我尝试 telnet 命令时,我立即收到“连接被拒绝”。

:为什么远程登录到白天服务不起作用?

:是否有其他本地主机服务可以接受 telnet 连接?我尝试远程登录到随机选择的具有tcp条目的服务/etc/services,但所有这些服务都给出了相同的“连接被拒绝”错误。

我的短期目标只是复制我的学习材料成功的 telnet 连接到本地主机 tcp 服务 - 如果没有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正在监听,这是邮件服务。所以我可以通过telnet25端口连接。由于默认没有安装telnet,所以我使用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-streamdisabled设置为no

相关内容