前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >扫描(测试)端口

扫描(测试)端口

原创
作者头像
大大刺猬
修改2020-11-25 10:13:24
1.6K0
修改2020-11-25 10:13:24
举报
文章被收录于专栏:大大刺猬大大刺猬

运维工作中,测试端口通不通是很平常的操作, 但有的同学就是不会,或者会的没得相应的软件.

所以,我将整理下平时测试端口的办法.

HOST : 目标主主机名或IP地址

PORT : 目标端口

1.telnet

无论是开发还是运维测试端口用得最多的就是telnet了, 就不多介绍了, 用法:telnet HOST PORT

例子:

测试端口:

代码语言:javascript
复制
telnet 192.168.1.1 22

扫描端口:

代码语言:javascript
复制
for i in {1..65536}; do (echo 'q')|telnet -e 'q' 127.0.0.1 ${i} >/dev/null 2>&1 && echo -e "\033[31;40m${i}\033[0m\tis open"; done

适用范围: 只适用于有telnet软件的服务器(不是很多)

2.bash中的/dev/tcp/HOST/PORT

这是利用的bash的一个功能. 成功建立连接就返回状态码0, 所以可以这样写:echo '' > /dev/tcp/HOST/PORT && echo OK 但是这样不好看,因为失败了会有错误提示,不好看. 建议这样写echo &>/dev/null > /dev/tcp/HOST/PORT && echo OK

例子:

代码语言:javascript
复制
echo &>/dev/null > /dev/tcp/127.0.0.1/22 && echo OK

扫描端口:

代码语言:javascript
复制
for i in {1..65536}; do if echo &>/dev/null > /dev/tcp/127.0.0.1/${i} ;then echo -e "\t\033[31;40m${i}\033[0m  is open"; fi; done

适用范围:仅适用于shell是bash的环境(大部分)

3.ssh

类似第一个的telnet,但是使用ssh的服务器更多,几乎所有UNIX/LINUX都默认安装了ssh

用法:ssh HOST -p PORT 只要没得refues,就表示端口开放的

例子:

代码语言:javascript
复制
echo $(ssh 127.0.0.1 -p 22 -o BatchMode=yes -o StrictHostKeyChecking=yes 2>&1 ) | grep refused >/dev/null 2>&1 || echo " is open"

扫描端口(这个太慢了,所以只扫描1-15000即可.大佬也可以改为并发的):

代码语言:javascript
复制
for i in {1..15000}; do echo $(ssh 127.0.0.1 -p ${i} -o BatchMode=yes -o StrictHostKeyChecking=yes 2>&1 ) | grep refused >/dev/null 2>&1 || echo "${i} is open"   ; done

适用范围:几乎所有服务器 (推荐)

4.nmap

这个就比较6了,扫描的内容很多.

用法: nmap HOST

例子:

代码语言:javascript
复制
nmap 127.0.0.1

适用范围: 必须要有nmap才行, 这比telnet还少..

5.其它

当上面的条件都不满足的时候,就得自己编程了.服务器上基本上都有 C编译器或者python .

例子我就不举了,网上能搜到一大把的.

扫描端口排行:

按适用范围排行:

程序 > ssh > bash > nmap > telnet

按方便程度排行:

bash > nmap > telnet > ssh > 编程

按流行度排行:

nmap > telnet > bash | ssh | 编程

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.telnet
  • 2.bash中的/dev/tcp/HOST/PORT
  • 3.ssh
  • 4.nmap
  • 5.其它
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档