Linux系统 端口知识以及相关监听工具

Posted xq0422

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统 端口知识以及相关监听工具相关的知识,希望对你有一定的参考价值。

在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。

物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
逻辑端口指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。
由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号

一.端口按端口号可以分为3大类:
-------------------------------------------------------------------------------------------
1:公认端口(Well Known Port)

公认端口号从0到1023,它们紧密绑定与一些常见服务,例如FTP服务使用端口21,你在 /etc/services 里面可以看到这种映射关系。

2:注册端口(Registered Ports):

从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的.

3: 动态或私有端口(Dynamic and/or Private Ports)

动态端口,即私人端口号(private port numbers),是可用于任意软件与任何其他的软件通信的端口数,使用因特网的传输控制协议,或用户传输协议。动态端口一般从49152到65535

Linux中有限定端口的使用范围,如果我要为我的程序预留某些端口,那么我需要控制这个端口范围。
/proc/sys/net/ipv4/ip_local_port_range定义了本地TCP/UDP的端口范围
你可以在/etc/sysctl.conf里面定义net.ipv4.ip_local_port_range = 1024 65000


二。相关的检测工具 nmap telnet lsof
1:nmap工具检测开放端口
------------------------------------------------------------------------------------------
nmap localhost #查看主机当前开放的端口
nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口

nmap -sU 192.168.8.226 #UDP 扫描:探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢
nmap -PS 192.168.8.226 #探测目标主机开放的端口
nmap -O 192.168.8.226 #探测目标主机操作系统类型
nmap -A 192.168.8.226 #探测目标主机操作系统类型
nmap --help #更多nmap参数请查询帮助信息

nmap -sP 192.168.8.* 或 nmap -sP 192.168.8.0/24 扫描这个网段机器情况


nmap端口状态open closed 的解答 参考链接:https://www.cnblogs.com/AloneSword/articles/5078716.html

------------------------------------------------------------------------------------------
2:netstat 工具检测开放端口
------------------------------------------------------------------------------------------
-a 列出所有当前的连接。
-t 列出 TCP 协议的连接
-u 列出 UDP 协议的连接
-n 选项禁用域名解析功能。
-l 选项列出正在监听的套接字。
-p 选项查看进程信息。
------------------------------------------------------------------------------------------
3:lsof 工具检测开放端口
------------------------------------------------------------------------------------------
lsof -i 列出所有打开了网络套接字(TCP和UDP)的进程
lsof -i:22 -i:port来显示与指定端口相关的网络信息
lsof -i tcp/udp 只列出打开TCP 或UDP sockets的进程
------------------------------------------------------------------------------------------
4: 使用telnet检测端口是否开放
------------------------------------------------------------------------------------------
//格式: telnet ip prot
telnet 192.168.8.226 80

------------------------------------------------------------------------------------------
5:netcat工具检测端口是否开放。
------------------------------------------------------------------------------------------
nc -v ip port 扫瞄某IP的某个端口,返回信息详细输出


参考信息:
https://blog.csdn.net/zflovecf/article/details/79267769

https://www.cnblogs.com/wzy23/p/11389431.html

以上是关于Linux系统 端口知识以及相关监听工具的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令Linux下 netstat的使用

Linux系统之查看进程监听端口方法

老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?

Linux在Linux中查看进程占用的端口号

如何通过扫描工具Nmap列出开放端口和监听服务

Linux中网卡相关命令以及SSH连接远程主机