Python实现的IP端口扫描工具类示例


Posted in Python onFebruary 15, 2019

本文实例讲述了Python实现的IP端口扫描工具类。分享给大家供大家参考,具体如下:

去年服务器老是被攻击,每次上线之后,上线的人急急忙忙下班,忘记关闭一些端口。导致有次服务器被攻破。损失严重。

这段时间再做仪器对接,把医疗器械对接到我们SAAS平台,有些仪器是通过网线进行数据传输的。通过网线进行数据传输,无非就是通过端口号进行传输交互,但是找不到说明书,国内搞仪器对接开发的也很少,所以网上开源的或者介绍的东西很少,对于我们来说,仪器是个黑盒,想要拿到里面的东西,还要自己去摸索,去试验,比较浪费时间,脑子一转就想到了之前自己写的端口扫描工具,连到一个局域网,一键找到开放的端口,直接端口链接上,拿到数据,分分钟解决了拿数据的问题。

所以好东西要分享出来。

目前我发现的用处:

1,服务器上线之后的扫描工具,那些端口要开放那些不能开放,扫一扫就知道了。

2,当确定对方是通过端口传输的,但是不知道端口号,是人是妖,你也扫一扫(用端口号去传输数据比蓝牙什么的快多了,只要你的数据足够大,上传和下载带宽可以打满你的手机所支持的带宽)。

3,想看看自己的手机那些端口号被开放了,在设置中找到自己的IP 或者下载个命令行执行工具 ifconfig下就知道了。

注意的是 不同的电脑不同的CPU 每次最多创建的线程是不一样的,可能创建线程过多,会报错,所以如果报错,自己修改下,每次扫描的个数,再剪成更小的段就可以了,或者再把seelp的时间设置的更长一些,保证能把0-65536之间的端口扫描一遍就可以了

# -*- coding:utf8 -*-
import socket, time, thread
import os
from time import sleep
socket.setdefaulttimeout(1)
def socket_port(ip,port):
 try:
  if port>=65535:
   return 
  s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  result=s.connect_ex((ip,port))
  if result==0:
   lock.acquire()
   print ip,u':',port,u'端口开放'
   lock.release()
  s.close()
 except Exception,e:
  pass
def ip_scan(ip):
 """
 输入IP,扫描IP的0-65534端口情况
 """
 try:
  print u'开始扫描 %s' % ip
  start_time=time.time() 
  for j in range(0,660):
   for i in range(j*100,100*(j+1)):
    thread.start_new_thread(socket_port,(ip,int(i)))
   sleep(0.1)#休眠 防止线程创建的过多报错(can not create new start thread)
  print u'扫描端口完成,总共用时 :%.2f' %(time.time()-start_time)
 except Exception,e :
  print u'扫描ip出错'
if __name__=='__main__':
 lock=thread.allocate_lock()
 ip_scan('192.168.3.37')

运行结果:

Python实现的IP端口扫描工具类示例

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python进程与线程操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中集合的内建函数和内建方法学习教程
Aug 19 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
Python 列表去重去除空字符的例子
Jul 20 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
python excel和yaml文件的读取封装
Jan 12 Python
史上最详细的Python打包成exe文件教程
Jan 17 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 #Python
Python从文件中读取数据的方法讲解
Feb 14 #Python
python爬取cnvd漏洞库信息的实例
Feb 14 #Python
基于python历史天气采集的分析
Feb 14 #Python
Python 实现域名解析为ip的方法
Feb 14 #Python
解决python Markdown模块乱码的问题
Feb 14 #Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 #Python
You might like
开发大型PHP项目的方法
2006/10/09 PHP
PHP+DBM的同学录程序(2)
2006/10/09 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
详解PHP中的PDO类
2015/07/06 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python线程详解
2015/06/24 Python
python与php实现分割文件代码
2017/03/06 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python实现日志按天分割
2019/07/22 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Django框架安装方法图文详解
2019/11/04 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
Internet体系结构
2014/12/21 面试题
公共事业管理本科生求职信
2013/10/07 职场文书
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
居安思危观后感
2015/06/11 职场文书
七一活动主持词
2015/06/29 职场文书
python基础之停用词过滤详解
2021/04/21 Python