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

端口扫描那些事

作者头像
信安之路
发布2018-08-08 14:08:11
1.8K0
发布2018-08-08 14:08:11
举报
文章被收录于专栏:信安之路信安之路

在渗透测试中端口扫描是非常重要的一环,不管是在外围对企业边界信息收集的过程还是在内网渗透中对内网的信息收集。如何判断主机或服务器端口的开放情况就显得尤为重要,下面就盘点一下可以作为端口扫描的工具与方式方法。

测试环境

windows:192.168.188.149 kali:192.168.88.128

扫描工具推荐

推荐几款在外围信息收集过程中使用的快速且强大的端口扫描工具。

Nmap

nmap作为一款最优秀的端口扫描利器,其功能之强大就不多说了,下面重点提几条命令,仅作端口扫描操作:

nmap -sT 192.168.88.128 -p68,80,443,8000,8080,5432 #TCP扫描 nmap -sS 192.168.88.128 -p68,80,443,8000,8080,5432 #SYN扫描 nmap -sU 192.168.88.128 -p68,80,443,8000,8080,5432 #UDP扫描

UnicornScan

Unicornscan 是一个新的信息收集引擎,主要用于安全研究和通讯测试,主要特点是精确、灵活而且高效。做端口扫描可以用下面的命令:

unicornscan -i eth0 -mT 192.168.188.149:1-10000

如需查看更多功能请使用以下命令查看帮助:

unicornscan -h

Masscan

Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。可以使用以下命令做简单的端口扫描:

masscan -p1-1000 192.168.188.149 --rate=10000

软件的帮助信息如下:

zmap

Zmap采用了无状态的扫描技术,没有进行完整的TCP三次握手,因此扫描速度极大提升。Zmap的基本功能是扫描发现主机的开放端口。可以使用以下命令进行指定端口扫描:

zmap -p 135 -o results.csv 192.168.188.0/24

其他扫描方式请查看帮助。

自己开发一个端口扫描工具

在渗透测试中使用被人的工具有的时候是不能满足我们自己的所有需求的,不管是所处的环境问题还是自己的自动化脚本的实现,都需要我们自己学会如何开发,了解扫描原理来应对多变的环境。想要实现端口扫描功能,最重要的环节就是检测端口是否存在,下面就以不同的脚本来实现检测端口是否存在。

Python

使用python实现端口扫描功能,需要用到的库是socket,如下是最重要的几行代码:

代码语言:javascript
复制
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(2.0)
try:
    s.connect(("192.168.188.149", 445))
    print "open"
except socket.timeout:
    print "timeout"
except socket.error as e:
    print "close"
finally:
    s.close()

端口扫描中的核心就是上面这几行代码,然后其他的功能,如:多线程、结果保存、端口列表等就需要自行添加了。

PowerShell

与Python编写端口扫描工具类似的,如何使用Powershell判断一个端口是否开放是端口扫描的关键,可以使用如下代码判断端口是否开放:

代码语言:javascript
复制
$tcp = new-object Net.Sockets.TcpClient
$tcp.Connect("192.168.88.128",80)

如果端口开放,其结果为空,如果不开放,将会报错,测试如下:

剩下的开发任务请大家自学Powershell,然后开发属于自己的小工具。

NC

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它,利用nc也可以完成简单的端口扫描。使用下面的命令查看端口是否开启:

nc -vv 192.168.188.149 80

测试结果如图:

大家可以不管是在windows下还是linux下都可以写一点bash或者bat来调用nc来进行端口扫描。

总结

工具不在多,够用就好,工具不在神,适合自己就好。所以我只是大概的提了提,剩下如何使用就看自己的个人喜好,欢迎大家分享一些自己的喜好以及经验等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试环境
  • 扫描工具推荐
    • Nmap
      • UnicornScan
        • Masscan
          • zmap
          • 自己开发一个端口扫描工具
            • Python
              • PowerShell
                • NC
                • 总结
                相关产品与服务
                网站渗透测试
                网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档