【博客189】判断端口有没有打开(二)

内容: 判断端口是否打开的另一个命令nc

nc:

nc一个功能强大的网络工具,全称是netcat。
语法:nc 选项 参数
选项:
-g: <网关>:设置路由器跃程通信网关,最多设置8-G: <指向器数目>:设置来源路由指向器,其数值为4的倍数
-h:在线帮助
-i: <延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口
-l:使用监听模式,监控传入的资料
-n:直接使用ip地址,而不通过域名服务器;
-o: <输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
-p: <通信端口>:设置本地主机使用的通信端口
-r:指定源端口和目的端口都进行随机的选择
-s: <来源位址>:设置本地主机送出数据包的IP地址
-u:使用UDP传输协议
-v:显示指令执行过程
-w: <超时秒数>:设置等待连线的时间
-z:使用0输入/输出模式,只在扫描通信端口时使用

使用nc来检测端口是否打开:

检测127.0.0.1这个ip地址(本机)上8000-10000的端口哪些开放:

 nc -nvz 127.0.0.1 8000-10000

用nc命令检测百度这个ip上的端口,顺便抓包看看检测的原理是什么?

1、先看下百度这个域名的ip:
在这里插入图片描述
2、开始用nc命令检测:检测到第一个8000端口就是没打开或者是不允许连接的
在这里插入图片描述
抓报文:
在这里插入图片描述
在这里插入图片描述
可以看到:我方主机向百度发了SYN三次握手的连接报文,但是对方端口没打开或者不可连接,回复了RST报文。原理是发送TCP连接,如果对方返回RST则代表对方此端口不可用。

接着检测百度的80号端口:应该是ngnix的默认端口:

nc -nvz 14.215.177.38 80

在这里插入图片描述
抓包查看:看到三次握手顺利连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着可以看到nc命令对检测成功的端口,马上发送FIN报文进行四次挥手断开连接:
在这里插入图片描述

大四学生一枚,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。有喜欢C/C++,linux的同学欢迎私信一起讨论学习。

发布了214 篇原创文章 · 获赞 41 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_43684922/article/details/105253966