转自

使用Python编写简单的端口扫描器的实例分享_python_脚本之家 http://www.jb51.net/article/76630.htm

 -*- 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)

更多相关文章

  1. linux socket 程序被ctrl+c或者异常终止,再次起程序时提示该端口
  2. linux下安装 tomcat 和配置防火墙开放8080端口
  3. linux解决端口号被占用
  4. window与linux查看端口被占用
  5. linux 中 开放端口,以及防火墙的相关命令
  6. linux暴露端口可以被外部访问
  7. Mac OSX ipfw 防火墙配置-封端口
  8. linux下mysql开启远程访问权限及防火墙开放3306端口
  9. [置顶] Android Studio、eclipse中解决adb端口号被占用

随机推荐

  1. 认命,但就不服命!
  2. Linux学习之linux的find命令如何使用?
  3. python数据类型的强制转换
  4. 动画:面试必刷之对称的二叉树
  5. 字符串处理函数
  6. 就说一件事!
  7. Spring Cloud分布式微服务实战(养成应对复
  8. 自学系列 | 就谈自学方法!
  9. 动画:「变量提升」引发的一场"血"案 !
  10. 动画:面试必刷之二叉树的镜像