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 | # 查看版本 |
打赏