Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2091|回复: 3
打印 上一主题 下一主题

测试端口的连通性 nc

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-7-26 16:49:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 java 于 2017-7-26 18:01 编辑

-------------------------------nc-----------------------
安装nc

sudo apt-get -y install netcat-traditional   (安装传统nc)


nc的控制参数不少,常用的几个参数如下所列:
1) -l
用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
2) -p <port>
暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
3) -s
指定发送数据的源IP地址,适用于多网卡机
4) -u
指定nc使用UDP协议,默认为TCP
5) -v
输出交互或出错信息,新手调试时尤为有用
6)-w
超时秒数,后面跟数字
7)-z
表示zero,表示扫描时不发送任何数据其实telnet第一行的提示就是告诉你怎么退出Escape character is '^]'.
输入  ctrl + ]  两个键
^]
telnet> quit
然后再输入 quit即可



测试一下 180.97.33.107  这个IP 的80 端口有没有开启可以使用命令
nc -z -w 1 180.97.33.107  80

默认是使用TCP进行测试的,如果要测试UDP端口有没有开放的可以添加-u 一起使用。例如我测试一下202.96.128.86 这个IP的UDP 53端口
nc -u -z -w 1 202.96.128.86 53



------------------telnet-------------
sudo apt install telnet

telnet 180.97.33.107 14040
telnet 退出
Escape character is '^]'.

输入  ctrl + ]  两个键
telnet> quit
然后再输入 quit即可


----------------------使用ssh判断.----------------------
用法: ssh -v -p port username@ip
-v 调试模式(会打印日志).
-p 指定端口
username可以随意
ssh  -p 3306 tt@192.168.218.31
不用-v选项也可以咯

----------------------使用wget判断----------------------
wget是linux下的下载工具,需要先安装.
用法: wget ip:port

wget 192.168.218.31:3306

----------------------使用端口扫描工具nmap----------------------
安装 nmap
sudo apt install nmap

nmap 182.254.218.31 -p3306
nmap 182.254.218.31 扫描主机所有相关端口


回复

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
沙发
 楼主| 发表于 2017-7-26 16:51:03 | 只看该作者

ubuntu14.04 使用传统的netcat
Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional.
网上例子很多都是以netcat-traditional为例.
sudo apt-get -y install netcat-traditional   (安装传统nc)
设置默认的nc,选择/bin/nc.traditional:
sudo update-alternatives --config nc        (终端下输入)
回复 支持 反对

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
板凳
 楼主| 发表于 2017-7-27 17:12:02 | 只看该作者
查看开启了哪些端口netstat -tunlp|grep


查看端口被哪个程序占用
netstat -tunlp|grep 9145



       -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)


上面的命令执行之后可以显示进程号,找到进程号以后,再使用以下命令查看详细信息:
ps -aux | grep <进程号>



回复 支持 反对

使用道具 举报

165

主题

269

帖子

957

积分

认证用户组

Rank: 5Rank: 5

积分
957
地板
发表于 2017-9-8 14:31:30 | 只看该作者
nc 模拟服务端 开启端口 9999

nc -l 9999

客户端连接
telnet xxxx 9999
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-9 08:53 , Processed in 0.061807 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表