TCP与UDP的端口连接
发布于2024-12-21 02:34:15,更新于2025-07-14 01:16:24,标签:devops tcp udp 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog一、查看连接
查看当前服务器启动了哪些端口
1 | # tcp端口 |
ss命令与telnet命令有相同的用法,而且ss是telnet的替代版。
1 | ss -nplt |

介绍Send-Q和Recv-Q的概念
- 在
LISTEN状态时,当Recv-Q接近或等于Send-Q时,说明accept队列已满,新完成的握手会被丢弃或RST。Send-Q表示全连接队列的容量。即min(backlog,net.core.somaxconn)Recv-Q表示当前已完成三次握手、状态为ESTABLISHED但尚未被应用accept()的连接数,即全连接队列的当前长度。
- 非 LISTEN 状态时,如果
Recv-Q长时间非 0,说明应用读得慢;Send-Q长时间非 0,说明对端接收慢或网络延迟高。Send-Q表示内核发送缓冲区中已发送但尚未收到对端ACK的字节数Recv-Q表示内核接收缓冲区中已到达但尚未被应用程序读取的字节数
二、验证端口可达性
常规情况下,我们验证跟对方的端口是否连通,一般使用的是telnet命令,telnet适用于TCP服务。
1 | telnet 10.0.0.9 5432 |
但实际环境中,还会存在UDP的服务,这时候就得考虑使用其他的工具了。
常见的命令如下
这两个命令,既能用于验证与TCP/UPD服务的连通性,也能用于临时开启TCP/UDP服务。nc命令来源于Netcat工具,ncat命令来源于Nmap工具,Nmap是对Netcat的改进版。
2.1、Windows
2.1.1 nc
在Windows中,很少使用Netcat,而是使用Nmap。
2.1.2 ncat
下载Nmap,按照默认配置无脑下一步,安装成功后,即可使用ncat命令。

使用示例
1 | # 查看版本 |

2.2、Linux
2.2.1 nc
安装Netcat工具
1 | yum -y install netcat |
使用示例
1 | # 临时启动一个端口为1234的TCP服务器 |

2.2.2 ncat
安装Nmap工具
1 | yum -y install nmap |
使用示例
1 | # 查看版本 |

打赏