Ubuntu 设置 telnet,inetd 超级服务器及 Linux常用的网络命令

telnet服务安装

sudo apt-get install xinetd telnetd

sudo /etc/init.d/xinetd status
sudo /etc/init.d/xinetd restart

如果出现 telnet: Unable to connect to remote host: Connection refused,则在 /etc/inetd.conf 增加一句

xxx
#: STANDARD: These are standard services.
telnet	stream 	tcp	nowait	telnetd	/usr/sbin/tcpd	/usr/sbin/in.telnetd
xxx

系统至少得安装有 telnet 以及 telnetd
在这里插入图片描述
netstat -a | grep telnet
在这里插入图片描述
netstat -pant | grep 23,能看到 23号端口被使用了。
在这里插入图片描述

提一下 inetd1

典型的unix系统可能存在许多服务器,它们只是等待客户请求的到达,如 FTP、Telnet、Rlogin、TFTP 等。最开始,所有的这些服务都与一个进程相关联,这些进程在系统启动时开始运行,而且执行几乎相同的启动任务:创建一个套接口,把本服务的众所周知的端口捆绑到该套接口,等待一个连接(TCP)或是一个数据报(UDP),然后派生子进程。子进程为客户提供服务,父进程则等待下一个客户请求。这个模型存在两个问题:

  • 所有这些守护进程含有几乎相同的启动代码(套接口的创建以及成为守护进程)。
  • 每个守护进程在进程表中占据一项,并且大部分时间处于睡眠状态

inetd 超级服务器使上述的问题得到简化:

  • 通过 inetd 处理普通进程的大部分细节以简化守护程序的编写。
  • 单个进程(inetd)就能为多个服务等待外来的客户请求,以此取代每个服务一个进程的做法,减少了系统中的进程数。
    在这里插入图片描述
在启动阶段,读入/etc/inetd.conf文件并给该文件中指定的每个服务创建一个适当类型的套接口。
为每个套接口调用bind,指定捆绑相应服务器的众所周知端口和通配IP地址。
对于每个TCP套接口,调用 listen 以接受外来的连接请求。对于数据报套接口则不执行本步骤。
创建完毕所有套接口后,调用select等待其中任何一个套接口变为可读。
当select返回指出某个套接口已可读之后,如果该套接口是一个TCP套接口,而且其服务器的wait-flag值为nowait,
那就调用accept接受这个新连接。
inetd守护进程调用fork派生进程,并由子进程处理服务请求。
如果第5步中select返回的是一个字节流套接口,那么父进程必须关闭接受了的已连接套接口,
父进程再次调用select,等待下一个变为可读的套接口。

inetd.conf 是/usr/sbin/inetd的初始化文件,告诉/usr/sbin/inetd所需要监听的 inet 服务及有关信息。

每行有七个单元,对于socket类的服务各单元依次是:
<服务名称> <协议(tcp或udp)> <标志(wait或 nowait)> <属主> <真实服务程序全路径> <真实服务程序名称及参数

ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd

表示 /usr/sbin/inetd 监视 ftp 服务(端口21),为此服务创建的socket为流类型的,遵从 tcp协议,当ftp客户请求到来并且与 /usr/sbin/inetd 监视的ftp服务端口连接成功后, /usr/sbin/inetd 就fork一个子进程,该子进程的主人被置为root,同时继承了一个父进程与客户方连接成功而生成的子socket,然后该子进程将该子socket复制(dup2调用) 为文件号0,1, 2(标准输入输出标准出错)并且发 execl("/usr/sbin/in.ftpd", "in.ftpd") 使 in.ftpd 接管标准输入输出的处理,也就是接管父进程连接成功生成的子socket, 父进程不会等待子进程的退出(exit)状态,即 nowait。

网络常用命令

  • ifconfig:查看网卡状态、启停网卡等
  • ethtool:查看网卡链路、驱动等。http://man.linuxde.net/ethtool
  • netstat:统计网络信息
  • route:展示路由信息,设置路由表等
各个配置文件
网卡IP,网关等:	/etc/network/interface
DNS: 			/etc/resolv.conf
协议类型:		/etc/protocols
协议端口号:		/etc/services

  1. https://blog.csdn.net/u012103747/article/details/45338571 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值