linux端口号111对应服务版本,linux - 端口与对应的服务名称

前言

dd00f19e3a248c2032a8a27412ba4844.png

在Linux上,端口的使用是有一定的规范:

1、端口号 0 不使用;

2、端口号 1 - 1023,系统默认只给root使用;

3、端口号 1024 - 4999 由客户端程序自由分配;

4、端口号 5000 - 65535 由服务器端程序自由分配;

端口号名称注册

在Linux下有一个 /etc/services的文件,记录着服务名和他们对应的端口和协议。

在一些应用中可以直接使用协议名称来操作对应的端口,比如 iptables 添加规则的时候可以直接写http,https,来代替对应的80,443。(当然是默认的配置),如果名称对应的端口号变了,重新查找的时候就添加规则后的端口就会随着改变。

/etc/services文件格式

这个文件的每一行对应一种服务,由三个字段组成,中间用TAB或者空格分隔,从左到右,分别对应 服务名称 使用端口/协议名称 别名:

例如:

cat /etc/services

...

ftp-data 20/tcp

ftp-data 20/udp

ftp-data 20/sctp

ftp 21/tcp

ftp 21/udp

ftp 21/sctp

ssh 22/tcp ssh2

ssh 22/udp

ssh 22/sctp

telnet 23/tcp

telnet 23/udp

smtp 25/tcp

smtp 25/udp

...

这里我们给ssh加一个ssh2的别名,这样子在iptables中我们可以指定端口是ssh2端口

iptables -A INPUT -p tcp --dport ssh2 -j ACCEPT

90b37a5ff8d4cb1b3006b86353f6cc09.png

其他地方的应用

我们在使用netstat或者ss命令常看网络连接的时候如果不加-n参数,默认就会解析端口对应的服务名称。

例如:

ss -ltp

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*

LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*

LISTEN 0 128 [::]:ssh [::]:*

LISTEN 0 5 [::1]:ipp [::]:*

b8b6c29fe8fe86ec91c662f12d372101.png

总结

/etc/services对我们一些端口操作有一定的遍历和直观,但是也存在被篡改的风险。因此,建议不要随便去修改这个文件,我们平时操作对应的端口的时候直接写上对应的端口号,防止因/etc/services这个文件被修改,出现异常或者安全问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值