700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【linux 检测端口的命令】curl netstat和nc命令

【linux 检测端口的命令】curl netstat和nc命令

时间:2022-12-05 20:09:29

相关推荐

【linux 检测端口的命令】curl netstat和nc命令

linux 检测端口的命令

参考背景检测端口的命令curl 端口正常并能连通curl 端口未正常打开telnetnc安装nc命令nc 命令参数nc使用

参考

/p/a381f1240a9b

/jingyan/0824/5811420.html

/weixin_43796685/article/details/104499543

背景

由于进程在运行时,有时候会出现,进程依然存在,而端口已经不在的情况,此时服务已经不正常了。为了防止这种情况出现,所以需要检测进程所启动的端口是否能正常响应。

检测端口的命令

对于http的端口,可以使用curl命令用来检测http端口,如果是tcp和udp端口,则不能使用curl命令。

curl 端口正常并能连通

curl 端口未正常打开

curl :8080

telnet

telnet命令使用的是tcp协议,换句话说telnet命令只能检测tcp的这个端口打开了没。即如果这个端口是udp端口,而不是tcp端口,那么使用telnet则无法检测该端口的状态。

使用telnet命令时存在以下3种情况:

端口未打开没响应

> telnet 101.199.97.65 62715Trying 101.199.97.65...

端口打开但被拒绝连接

> telnet 101.199.97.65 62715Trying 101.199.97.65...telnet: connect to address 101.199.97.65: Connection refused

端口打开并建立连接

> telnet 101.199.97.65 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.

此时命令未退出。

nc

正如上面说到的,telnet只能检测tcp的端口,而不能检测udp的端口。要实现这种需求,则可以使用nc命令。对于nc命令执行的结果,我们可以通过

安装nc命令

yum install nc

nc 命令参数

nc参数默认检测tcp端口,在指定-u 参数时,检测的就是udp端口。

-g<网关> 设置路由器跃程通信网关,最多可设置8个。-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。-h 在线帮助。-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。-l 使用监听模式,管控传入的资料。-n 直接使用IP地址,而不通过域名服务器。-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。-p<通信端口> 设置本地主机使用的通信端口。-r 乱数指定本地与远端主机的通信端口。-s<来源位址> 设置本地主机送出数据包的IP地址。-u 使用UDP传输协议,即检测udp端口-v 显示指令执行过程,可以多次使用,如-vv,则表示打印更详细的信息-w <超时秒数> 设置等待连线的时间。-z 使用0输入/输出模式,只在扫描通信端口时使用,表示连接立即关闭,不进行数据交换,nc执行完会立即退出。

nc使用

在使用nc命令时,可以通过命令的状态码来证明端口是否打开,0表示命令成功执行,也就是端口打开并能连通。1表示命令执行失败,也就是端口没有打开或不能连通。

端口没有打开或不能连通

> nc -v -z 10.244.27.20 6880Ncat: Version 7.50 ( /ncat )Ncat: Connection refused

端口没有打开或不能连通

> nc -v -z -u 10.244.27.20 8733Ncat: Version 7.50 ( /ncat )Ncat: Connected to 10.244.27.20:8733.Ncat: Connection refused

端口打开并建立连接

> nc -v -z 10.244.27.20 8733Ncat: Version 7.50 ( /ncat )Ncat: Connected to 10.244.27.20:8733.Ncat: 0 bytes sent, 0 bytes received in 0.0.1 seconds.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。