本文实例讲述了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相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python进程与线程操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。