#!/usr/bin/env python

import socket

if __name__=='__main__':

port=3389

s=socket.socket()

for cnt in range(253,2,-1):

address='XXX.XXX.XXX.'+str(cnt) #XXX.XXX.XXX IP网段

try:

s.connect((address,port))

print address

except socket.error,e:

print 'Error OR Port Not Opened'

Python的代码简单明了,但是功能不简单,速度有些慢,主要还是单线程和网络的原因吧。改进一下可以当一个简陋的端口扫描器使用了,扫描指定网段、指定端口,多线程速度可能能好一点吧。

多线程实现前几天看了个讲使用Python扫描端口的教程,看了之后自己也写了个扫描端口的脚本。记录下来,方便自己以后回顾。

端口扫描端口效果图

python扫描器源代码

# -*- coding:utf8 -*-

#!/usr/bin/python

# Python: 2.7.8

# Platform: Windows

# Authro: wucl

# Program: 端口扫描

# History: 2015.6.1

import socket, time, thread

socket.setdefaulttimeout(3)

def socket_port(ip,port):

"""

输入IP和端口号,扫描判断端口是否开放

"""

try:

if port>=65535:

print u'端口扫描结束'

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:

print u'端口扫描异常'

def ip_scan(ip):

"""

输入IP,扫描IP的0-65534端口情况

"""

try:

print u'开始扫描 %s' % ip

start_time=time.time()

for i in range(0,65534):

thread.start_new_thread(socket_port,(ip,int(i)))

print u'扫描端口完成,总共用时 :%.2f' %(time.time()-start_time)

raw_input("Press Enter to Exit")

except:

print u'扫描ip出错'

if __name__=='__main__':

url=raw_input('Input the ip you want to scan:\n')

lock=thread.allocate_lock()

ip_scan(url)

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

python编写端口扫描器_使用Python编写简单的端口扫描器的实例分享相关推荐

  1. vs python生成exe文件_使用VScode编写python程序并打包成.exe文件-文件夹变成exe

    1. 下载vscode并安装 2. 配置Python环境 点击左下角的吃了图标,在弹出的菜单中选择extensions,在左上方搜索框内输入"Python",可以看到好多Pytho ...

  2. python商城源码_自学Python才几天,就成功编写出俄罗斯方块游戏,附自学教程

    人们常说,python不适合做游戏,但我偏爱玩游戏,做不了大的,做个小的也行啊. 于是,我在自己毫无基础的条件下,用两天时间学python基础理论,再用已有的俄罗斯方块游戏源码和源文件,在我的不懈努力 ...

  3. python小老鼠编程_成都python函数学习教程,Python编写课程

    1.urllib2/urllib实现urllib2和urllib是Python中的两个内置模块,要实现HTTP功能,实现方式是以urllib2为主,urllib为辅.1.1首先实现一个完整的请求与响应 ...

  4. python调用微信客户端_用Python编写的简化版微信客户端

    原标题:用Python编写的简化版微信客户端 原文:A simple WeChat client written in Python supports session persistence. 翻译: ...

  5. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  6. 用python写shell脚本_应用python编写shell脚本

    今天同事叫我编写一个shell脚本.话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没 ...

  7. python利用写模块_使用C++编写python扩展模块

    简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...

  8. 哪些软件是python编写出来的_用Python编程需要什么软件?

    用Python编程需要什么软件?Python编程是一门适合新手入门的编程语言,现在有不少程序员业余时间学习Python编程语言,学习Python找到好工具会大大提高学习的效率.好用的Python编程软 ...

  9. python做ui界面_用python编写简单ui界面窗口

    新用户新地理处理,最常见的方法是使用工具对话框执行地理处理操作.当必须执行一次只有一个工具,这个工具对话框确实是一个好方法去经营.地理处理工具易于使用和显示警告图标或错误图标及相关消息旁边不当使用参数 ...

  10. 需要额外端口信息_使用Python进行TCP端口扫描

    使用Python进行TCP端口扫描 首先我们供给一台主机,要进行的步骤就是对其主机端口的扫描,查看其中开放的端口. 我们创建一个TCP的全连接的扫描器,使用socket来创建连接器. 扫描端口开放 # ...

最新文章

  1. conda 基本操作
  2. ROS-Rtabmap:linux shell运行多个shell(运行多个程序)
  3. 晒晒今年淘宝网买的李宁鞋子
  4. armv7 cortex a系列编程手册_AWTK能为现代GUI编程带来何种改变?
  5. mac地址漂移flapping的前因后果
  6. C#的未来:扩展属性及更多
  7. QQ偷偷删除图片被EMUI系统拦截?华为、腾讯双方回应...
  8. 常用函数式接口-Consumer
  9. python中for用法_python中for的用法探索
  10. 精通 JS正则表达式(转)
  11. 【GIS教程】土地利用转移矩阵、土地利用面积变化
  12. mysql主主双机互备(三)
  13. 常用webservice网址
  14. 无法启动此程序因为计算机丢失uplay,Uplay登录不上咋办?Uplay登录不上的解决方法...
  15. 【笔记】更改windows,excel,word背景色为眼睛保护色
  16. java开发英语词典app_英语词典app哪个好 5款好用的英语词典app推荐
  17. 英文单词和数字断行不折叠
  18. 2018产品经理都在入驻的平台——汇新云
  19. python flask web_Python Web开发之Flask
  20. 能量收集技术能为利用环境能源的应用带来巨大优势

热门文章

  1. python创建空文本文件_Python空白txt文件创建
  2. 十折交叉验证python_机器学习(十二)交叉验证实例
  3. 汉字查拼音微信小程序项目源码
  4. ubuntu 安装 notepad++
  5. 位移密码算法挑战 个人答案
  6. 65位高校教师接龙晒工资!给打算入高校的研究生们参考!
  7. VHDL学习:两种方式实现四选一选择器
  8. linux安装pdf阅读器 | 安装删除有道词典
  9. 如何利用ArcScene建立3维地层模型
  10. 荣耀6plus安装linux程序,华为 荣耀6Plus驱动程序下载和安装