Python实现的对本地host127.0.0.1主机进行扫描端口功能示例

本文实例讲述了Python实现的对本地host127.0.0.1主机进行扫描端口功能。分享给大家供大家参考,具体如下:

前面一篇《Python IP端口扫描工具类》详细介绍了端口扫描功能,这里分析一下针对本地localhost端口扫描的方法。

具体代码如下:

#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#端口扫描器
import socket
import thread
import time
socket.setdefaulttimeout(3) #设置了全局默认超时时间
def socket_port(ip,PORT): #扫描开放端口
  try:
    if PORT>=65535:
      print u"端口扫描结束0-65535"
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    #s.settimeout(float(1)) #延时5S
    #s.connect((ip,PORT))
    result=s.connect_ex((ip,PORT))
    if(result==0):
      print ip,u":",PORT,u"端口开放"
    s.close()
  except:
    print u"扫描端口异常2"
def IP__port(data): #扫描端口
  try:
    #data="127.0.0.1"
    t=time.time()
    for i in range(0,1000 + 1):  #65535
      thread.start_new_thread(socket_port,(data,int(i)))
      time.sleep(0.003) #确保先运行Seeker中的方法
    print u'扫描端口完成用时 time:%f' % (time.time()-t)
  except:
    print u"扫描端口异常1"
if __name__=='__main__':
  #socket_port("127.0.0.1",21) #扫描开放端口
  IP__port("127.0.0.1") #多线程

运行结果如下:

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

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

(0)

相关推荐

  • Python实现的爬取百度文库功能示例

    本文实例讲述了Python实现的爬取百度文库功能.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- from selenium import webdriver from bs4 import BeautifulSoup from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH# 用来居中显示标题 from time import sleep from selenium.webd

  • Python基础之文件读取的讲解

    with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一个list,list of strs # 也即line类型为`str` curLine = line.strip().split('\t') # 只有`str`类型才有strip()成员函数, # 在经过split()分割,得到list类型 # 也即curLine类型为list # curLine 仍然是由字符串构成的lis

  • Python标准库使用OrderedDict类的实例讲解

    目标:创建一个字典,记录几对python词语,使用OrderedDict类来写,并按顺序输出. 写完报错: [root@centos7 tmp]# python python_terms.py File "python_terms.py", line 9 from name,language in python_terms.items(): ^ SyntaxError: invalid syntax 代码如下: from collections import OrderedDict p

  • Python从文件中读取数据的方法讲解

    编写了一个名为learning_python.txt的文件,内容如下: [root@centos7 tmp]# cat learning_python.txt In Python you can code; In Python you can learn object; In Python you can learn class. 要求:编写一个程序,它读取这个文件并打印三次. 1.第一次打印时读取整个文件: 2.第二次打印时遍历文件对象: 3.第三次打印时将各行存储在一个列表中,再在with代

  • Python中整数的缓存机制讲解

    在python中,如下代码结果一定不会让你吃惊: Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> a=345 >>> b=a >

  • python获取交互式ssh shell的方法

    更新,最近在学unix环境编程,了解一下进程的创建过程,用最原始的方式实现了一个ssh命令的执行. #coding=utf8 ''' 用python实现了一个简单的shell,了解进程创建 类unix 环境下 fork和exec 两个系统调用完成进程的创建 ''' import sys, os def myspawn(cmdline): argv = cmdline.split() if len(argv) == 0: return program_file = argv[0] pid = os

  • 使用Python自动化破解自定义字体混淆信息的方法实例

    注意:本示例仅供学习参考- 混淆原理 出于某种原因,明文信息通过自定义字体进行渲染,达到混淆目的. 举个例子: 网页源码 <p>123</p> 在正常字体的渲染下,浏览者看到的是 123 这 3 个数字. 如果创建一种自定义字体,把 1 渲染成 5,那么浏览者看到的便是 523 这 3 个数字. 这样便达到混淆信息的效果,常见于对付爬虫之类的自动化工具. 破解方法 下载自定义字体文件(通常在 css @font-face 中找到),保存成 a.ttf 文件. 安装以下依赖项目 te

  • Python通过for循环理解迭代器和生成器实例详解

    本文实例讲述了Python通过for循环理解迭代器和生成器.分享给大家供大家参考,具体如下: 迭代器 可迭代对象 通过 for-in- 循环依次拿到数据进行使用的过程称为遍历,也叫迭代.我们把可以通过 for-in- 语句迭代读取数据的对象称之为可迭代对象. - 通过 isinstance()可以判断一个对象是否可以迭代 # 判断列表 print(isinstance([], Iterable) 打印结果为 True 即为可迭代对象. - 自定义一个能容纳数据的类,测试该类的可迭代性 impor

  • centos6.5安装python3.7.1之后无法使用pip的解决方案

    编译安装全是坑-- 第一遍装完无法使用pip,报错找不到ssl模块.各种报错: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. ... configure: error: Invalid --with-openssl value ... 结果各种捣鼓. 1.注意cetos6.5自带的openssl版本是1.0.1,需要升级到1.0.2

  • Python3使用requests模块实现显示下载进度的方法详解

    本文实例讲述了Python3使用requests模块实现显示下载进度的方法.分享给大家供大家参考,具体如下: 一.配置request 1. 相关资料 请求关键参数:stream=True.默认情况下,当你进行网络请求后,响应体会立即被下载.你可以通过 stream 参数覆盖这个行为,推迟下载响应体直到访问 Response.content 属性. tarball_url = 'https://github.com/kennethreitz/requests/tarball/master' r =

随机推荐