在讨论这个问题前,我们先来了解一下化学端口、逻辑端口、端标语等计算机概念。
端口相关的概念:
在网路技术中linux命令详解词典,端口(Port)包括逻辑端口和化学端口两种类型。化学端口指的是化学存在的端口,如ADSLModem、集线器、交换机、路由器上用于联接其他网路设备的插口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于分辨服务的端口,如TCP/IP合同中的服务端口,端标语的范围从0到65535,例如用于浏览网页服务的80端口,用于FTP服务的21端口等。因为化学端口和逻辑端口数目较多,为了对端口进行分辨linux查看程序端口号,将每位端口进行了编号,这就是端标语
端口按端标语可以分为3大类:
1:公认端口(WellKnownPort)
公认端标语从0到1023linux查看程序端口号,它们紧密绑定与一些常见服务,比如FTP服务使用端口21,你在/etc/services上面可以看见这些映射关系。
2:注册端口(RegisteredPorts):
从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这种端口,这种端口同样用于许多其它目的.
3:动态或私有端口(Dynamicand/orPrivatePorts)
动态端口,即私人端标语(privateportnumbers),是可用于任意软件与任何其他的软件通讯的端口数,使用因特网的传输控制合同,或用户传输合同。动态端口通常从49152到65535
Linux中有限定端口的使用范围,假如我要为我的程序预留个别端口,这么我须要控制这个端口范围。/proc/sys/net/ipv4/ip_local_port_range定义了本地TCP/UDP的端口范围,你可以在/etc/sysctl.conf上面定义net.ipv4.ip_local_port_range=102465000
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
[root@localhost ~]# echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range
关于端口和服务,我以前拿公共公厕打比方,公共公厕里的每一个公厕就好比系统的每一个端口,为人解决便捷就是所谓的服务,你提供了这种服务,这么就必须开放端口(公厕),当有人上公厕时,就是在这种端口构建了链接。假如那种公厕被人占用了,就表示端标语被服务占用了,如果有三天这儿不提供公共公厕服务了,这个公共公厕被拆除了长春linux培训,自然也就没有了端标语了。虽然更形象的事例,就好比建行大堂,端标语是这些柜台,而这些取号代办业务的人就好比链接到服务器的各类顾客端。她们通过端口重定向技术与柜台发送业务联系。再举一个浅显易懂的事例,端标语,好比铁路线上的每位站点,比如,重庆、岳阳等分别代表一个端标语,乘客通过火车票到各自的站点,就好比各个应用程序发往服务器端口的IP包。
端口与服务的关系
端口有哪些用呢?我们晓得,一台拥有IP地址的主机可以提供许多服务,例如Web服务、FTP服务、SMTP服务等,这种服务完全可以通过1个IP地址来实现。这么,主机是如何分辨不同的网路服务呢?似乎不能只靠IP地址,由于IP地址与网路服务的关系是一对多的关系。实际上是通过“IP地址+端标语”来分辨不同的服务的。
端标语与相应服务的对应关系储存在/etc/services文件中,这个文件中可以找到大部份端口。
怎么检测端口是否开放,虽然不整理,还不晓得有那么多方式!
1:nmap工具测量开放端口
2:netstat工具测量开放端口
3:lsof工具测量开放端口
4:使用telnet检查端口是否开放
服务器端口虽然处于窃听状态,并且防火墙iptables屏蔽了该端口,是难以通过该方式测量端口是否开放的。
文章评论