python 3.6.7实现端口扫描器


Posted in Python onSeptember 04, 2019

本文实例为大家分享了python 3.6.7端口扫描器的具体代码,供大家参考,具体内容如下

环境:python 3.6.7

# -*- coding: utf-8 -*-
import socket
import threading
import argparse

lock = threading.Lock()
openNum = 0
threads = []

def portscan(ip, port):
 global openNum
 try:
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.connect((ip, port))
 lock.acquire()
 openNum = openNum + 1
 print('[+] %d open' %port)
 lock.release()
 s.close()
 
 except:
 pass
 
def main():
 parse = argparse.ArgumentParser()
 parse.add_argument('-H', dest = 'ip', type = str)
 args = parse.parse_args()
 ip = args.ip
 socket.setdefaulttimeout(3)
 
 for port in range(1, 1024):
 t = threading.Thread(target = portscan, args = (ip, port))
 threads.append(t)
 t.start()
 
 for t in threads:
 t.join()
 
 print('[*] The host:%s scan is complete!' %(ip))
 print('[*] A total of %d open port ' %(openNum))
 
if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用cx_freeze把python打包exe示例
Jan 24 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
postman传递当前时间戳实例详解
Sep 14 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
下载官网python并安装的步骤详解
Oct 12 Python
Python文件操作方法详解
Feb 09 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
python用线性回归预测股票价格的实现代码
Sep 04 #Python
python多线程扫描端口(线程池)
Sep 04 #Python
Python数据分析模块pandas用法详解
Sep 04 #Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 #Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 #Python
Django框架 querySet功能解析
Sep 04 #Python
Django框架 查询Extra功能实现解析
Sep 04 #Python
You might like
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
使用yeoman构建angular应用的方法
2017/08/14 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
python输入错误后删除的方法
2019/10/12 Python
pytorch之添加BN的实现
2020/01/06 Python
Python class的继承方法代码实例
2020/02/14 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
详解python的super()的作用和原理
2020/10/29 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
android面试问题与答案
2016/12/27 面试题
小学生自我评价范文
2014/01/25 职场文书
2014年国庆节寄语
2014/09/19 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
好员工观后感
2015/06/17 职场文书