python编写简单端口扫描器

yipeiwu_com6年前Python基础

本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下

直接放代码

此代码只支持扫描域名,要扫描IP请自己修改

from socket import *
from threading import Thread
import optparse
Port = [80,21,23,22,25,110,443,1080,3306,3389,1521,1433]
Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server']
def Scan(tghost,tgport,Server):
  try:
    s=socket()
    s.connect((tghost,tgport))
    print(tghost+'____>'+str(tgport)+' open',end='||||| ')
    print(str(tgport)+'---->'+Server)
    s.close()
  except:
    print(str(tgport)+'----> '+'not open')

def hostToaddr(host):#将域名转成ip
  try:
    return gethostbyname(host)
  except:
    return 
def main():
  parser=optparse.OptionParser()
  parser.add_option('-t', dest='dname')
  #parser.add_option('-p',dest='pname')
  (options,args)=parser.parse_args()


  if(options.dname==None):
    print('[-] You must specify a target host and port')
    exit(0)
  else:
    tgname=options.dname
  ip=hostToaddr(tgname)
  #Scan(ip)
  for i,j in zip(Port,Server):#用线程提高速度
    t=Thread(target=Scan,args=(ip,i,j))
    t.start()
  input()#cmd界面如果快速闪退,请加入这条代码
if __name__=='__main__':
  main()

运行代码

代码执行结果

因为代码过于简单,这里我就不具体解释了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现查询某个目录下修改时间最新的文件示例

本文实例讲述了Python实现查询某个目录下修改时间最新的文件。分享给大家供大家参考,具体如下: 通过Python脚本,查询出某个目录下修改时间最新的文件。 应用场景举例:比如有时候需要...

Python实用日期时间处理方法汇总

原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理 步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3....

pycharm设置鼠标悬停查看方法设置

pycharm设置鼠标悬停查看方法设置

我们使用pycharm的时候,有时遇到了不认识的方法习惯于将鼠标悬停在方法上查看方法介绍。那么如何设置呢?下面小编给大家分享一下。 首先假如我们要查看下图所示的方法,鼠标放上去并没有显示...

如何将你的应用迁移到Python3的三个步骤

Python 2.x 很快就要 失去官方支持 了,尽管如此,从 Python 2 迁移到 Python 3 却并没有想象中那么难。我在上周用了一个晚上的时间将一个 3D 渲染器的前端代码...

python构造函数init实例方法解析

python构造函数init实例方法解析

这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、创建对象,我们需要定义构...