渗透入门——手把手教你如何做一个端口扫描器

  • 时间:2020-04-24 21:08 作者:程序员Sunny 来源: 阅读:489
  • 扫一扫,手机访问
摘要:图片.png前言端口扫描可以算是渗透过程中的最最入门的一部分,也可以说是先行军。通常某些常用端口提供的服务存在少量已经被发现的漏洞,比方21端口ftp服务,22端口的ssh服务,以及去年大规模爆发的勒索病毒锁利用的445端口、135端口以及137 139端口,当然更多的漏洞还未被披露出来。假如需要做
图片.png

前言

端口扫描可以算是渗透过程中的最最入门的一部分,也可以说是先行军。通常某些常用端口提供的服务存在少量已经被发现的漏洞,比方21端口ftp服务,22端口的ssh服务,以及去年大规模爆发的勒索病毒锁利用的445端口、135端口以及137-139端口,当然更多的漏洞还未被披露出来。
假如需要做渗透,首先得知道目标主机究竟提供了哪些服务,而后根据具体服务存在的已知漏洞进行攻击(特别是少量低版本的服务,很多已知漏洞并未被修复)。因而,首先进行端口扫描是很有必要的。当然,目前其实也有不少成熟的端口扫描工具,甚至可以测出能否存在某些漏洞,如弱口令等。但是,自己写出来的比用工具更为有成就感哦。

正式开始

今天的内容我们主要用python来实现,相对来说,python的库更为丰富,很多时候只是为了实现某种目的而不在意运行效率的话,python可以算是较优的选项了,今天主要实现对目标主机的开放端口的检测,python只要要三个函数,短短四十多行即可以完成。
程序首先从main函数开始:

def main():    parser = optparse.OptionParser("usage%prog -H <target host>")    parser.add_option("-H", dest="targetHost", type="string", help="specify the host")    (options, args) = parser.parse_args()    targetHost = options.targetHost    if targetHost is None:        print "illegal args"        exit(0)    else:        scan(targetHost)

这里实现的其实非常简单,本质是利用optparse库来接收参数并调用scan函数来执行具体的扫描任务。
而后来看看具体scan函数做了什么内容:

def scan(host):    try:        targetIp = gethostbyname(host)    except:        print 'cannot resolve '+ host        return    try:        targetName = gethostbyaddr(targetIp)        print 'targetName is '+ targetName[0]    except:        print 'scan result for '+ targetIp    for port in range(1, 65536):        print "scanning port %d " %port        scanCore(host, port)

在scan函数里,我们主要实现了对host的解析,假如发现是无效域名,则不继续执行,假如是有效的,则针对1到65535的端口进行扫描,具体针对某个端口能否开放用的是scanCore进行确认——实际上,这里端口范围可以根据自己的需求来调整。

def scanCore(host, port):    try:        sock = socket(AF_INET, SOCK_STREAM)        sock.settimeout(3)        sock.connect((host, port))        print "%d port opened" % port        sock.close()    except:        print "%d port not opened" %port

在scanCore中,实质是利用socket对该主机的该端口进行连接,假如连接成功则意味着该端口为开放状态;假如超时或者者连接失败,则判定为该端口并未开放。

总结

代码非常简单,实现的功能也非常简单,可以说是一个入门版本。实际上,另外还有很多方式可以来对端口进行测试,比方telnet。


欢迎小伙伴与我探讨哦~

邮箱:zsunny@yeah.net

本文欢迎转载,请注明本文地址:https://www.songma.com/p/417e9bfcbb59

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部