在网络技术中,端口(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 工具检测开放端口
-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工具检测端口是否开放。
扫瞄某IP的某个端口
nc -v ip port
参考链接: