作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:一切为了她
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:唯有信仰与日月亘古不变

经过一段时间python黑帽编程的学习,我们的漏洞扫描器搭建之旅就要开始了,最开始当然要做的就是端口扫描器,所以这篇博客我们的内容就是搭建一个TCP扫描器,来看看吧

侦查是任何网络攻击的第一步。在选择目标的漏洞利用程序之前攻击者必须找 出漏洞在哪。在下面的章节中,我们将建立一个小型的侦查脚本用来扫描目标 主机开放的 TCP 端口。

代码如下

# coding=UTF-8
import optparse
import socket
import threadingscreenLock = threading.Semaphore(value=1)def connScan(tgtHost, tgtPort):try:connSkt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)connSkt.connect((tgtHost, tgtPort))print('[+]%d/tcp open' % tgtPort)except Exception:print('[-]%d/tcp closed' % tgtPort)try:# connSkt.send('ViolentPython\r\n')results = connSkt.recv(1024).decode("UTF-8")screenLock.acquire()print('[+]%d/tcp info:  ' % tgtPort + str(results))except Exception:screenLock.acquire()print('[-]%d can"t receive info' % tgtPort)finally:screenLock.release()connSkt.close()def portScan(tgtHost, tgtPorts):try:tgtIP = socket.gethostbyname(tgtHost)except Exception:print("[-] Cannot resolve '%s': Unknown host" % tgtHost)returntry:tgtName = socket.gethostbyaddr(tgtIP)print('\n[+] Scan Results for: ' + tgtName[0])except Exception:print('\n[+] Scan Results for: ' + tgtIP)socket.setdefaulttimeout(1)for tgtPort in tgtPorts:print('Scanning port ' + str(tgtPort))t = threading.Thread(target=connScan, args=(tgtHost, int(tgtPort)))t.start()def main():parser = optparse.OptionParser('usage %prog –H<target host> -p <target port>')parser.add_option('-H', dest='tgtHost', type='string', help='specify target host')parser.add_option('-p', dest='tgtPort', type='int', help='specify target port')(options, args) = parser.parse_args()tgtHost = options.tgtHosttgtPort = options.tgtPortargs.append(tgtPort)if (tgtHost is None) | (tgtPort is None):print('[-] You must specify a target host and port[s]!')exit(0)portScan(tgtHost, args)if __name__ == '__main__':main()

效果展示

这个端口扫描器有两个作用,

一个就是探测目标主机的指定端口开放状态

另外一个就是探测指定端口运行的服务信息 

这个代码拿去就可以用,同时也在我的github和gitee上更新了 ,里面还附带有详细的用法说明,工具后面也会不断更新,欢迎持续关注

Gitee地址:PortScan_pro: TCP端口扫描器加强版 (gitee.com)

【Python黑帽子】——搭建TCP端口扫描器相关推荐

  1. Python黑帽子-黑客与渗透测试编程之道

    Python黑帽子-黑客与渗透测试编程之道 时间:2018年4月28日 前言 本文参考了两篇资料,优化补全了代码内容 giantbranch 的 Python黑帽子–黑客与渗透测试编程之道 意闲 的 ...

  2. 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习<Python黑帽子:黑客与渗透测试编程之道>的笔记,会持续地将书上的代码自己敲一遍,从而让自己对Python的安全编程有更多的了解,同时希望各位可以给给建议,不足之处太多了 ...

  3. 《Python黑帽子》python3代码实现(第二章)

    <Python黑帽子>代码实现 本篇笔记全部用python3实现,本人大一在校生第一次写博客,有错误之处希望大家积极指出. 参考大佬博客: https://www.cnblogs.com/ ...

  4. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(二):原始套接字和流量嗅探

    目录 前言 1.Windows和Linux上的包嗅探 2.解码IP层 3.解码ICMP层 4.发现主机 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码 ...

  5. 使用python-nmap 搭建基本端口扫描器

    代码地址如下: http://www.demodashi.com/demo/13255.html 一.前言 注意: 本文相关教程仅供个人学习使用,切勿用于非法用途,否则造成的相关损失及影响,作者不承担 ...

  6. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者

    目录 前言 1.窃取email认证 2.ARP缓存投毒 3.PCAP文件处理 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码,并自己将其中一些改写成P ...

  7. Python黑帽子--黑客与渗透测试编程之道 python3 实现代码

    最近在看 Python黑帽子–黑客与渗透测试编程之道 这本书 发现这本书的代码实现都是使用python2 的于是我就想使用python3来实现 缓慢更新中 python2版本 有一个博主写的特别好 这 ...

  8. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(四):web攻击

    目录 前言 1.urllib2 2.开源web应用安装 3.破解目录和文件位置 4.破解HTML表格认证 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源 ...

  9. 《Python 黑帽子》学习笔记 - 准备 - Day 1

    信息安全是一个有意思的方向,也是自己的爱好,从零开始,想在工作之余把这个爱好培养为自己的技术能力,而 web 安全相对来说容易入门些,于是选择 web 渗透测试作为学习的起点,并选择同样是容易入门的 ...

最新文章

  1. 预训练是AI未来所需要的全部吗?
  2. leetcode算法题--Word Search
  3. zepto点击事件兼容pc和mobile
  4. linux 管道使用方法,Linux 管道命令
  5. Ring3下Inline Hook API
  6. 如何解决多线程并发访问一个资源的安全性问题?
  7. 【软件测试】系统测试
  8. linux 周期性任务,Linux任务计划,周期性任务执行详解
  9. python自动化六--操作mysql,redis,发送邮件,EXCEL,MD5加密
  10. html lt;tablegt;,HTML布局lt;divgt;orlt;tablegt;,
  11. SecureCRT方向键显示为^[[A的解决办法
  12. C语言--课程管理信息系统
  13. Excel如何实现数据排列组合
  14. 服务器分区有什么作用,MSR 分区有什么用_网站服务器运行维护
  15. nginx url中带中文不能访问
  16. 【数据结构与算法】之深入解析“1比特与2比特字符”的求解思路与算法示例
  17. oracle 11客户端精简版,oracle_11g精简版客户端配置
  18. Flutter上线项目实战——环信客服插件
  19. 图纸识别自动生成BOM清单的方法
  20. python 从键盘输入若干个整数,当输入“-1““时输入结束,请统计最大值、最小值和平均数

热门文章

  1. django orm性能优化
  2. Oracle 11g数据库基础教程(第2版)-课后习题-第五章
  3. 剑侠情缘修改服务器列表名字,史上奇葩的游戏氪金活动,充钱就能改服务器名,剑侠情缘也在其中...
  4. Win32API操作文件
  5. sourcetree安装中net Framework安装失败问题
  6. Java学习之性能优化常用方法分享
  7. 选择检测机构,有CNAS认证没CNAS认证区别
  8. 有源医疗器械的开发过程和各阶段的注意事项(三)
  9. 计算机组成原理1,计算机组成原理1.pdf
  10. Unity官方教學專案 - Character Customization (紙娃娃系統)