Python端口扫描简单程序


Posted in Python onNovember 10, 2016

本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下

获取本机的IP和端口号:

import socket 
 
def get_my_ip(): 
  try: 
    csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
    csock.connect(('8.8.8.8', 80)) 
    (addr, port) = csock.getsockname() 
    csock.close() 
    return addr,port 
  except socket.error: 
    return "127.0.0.1" 
 
def int_to_ip(int_ip): 
  return socket.inet_ntoa(struct.pack('I', socket.htonl(int_ip))) 
 
 
def ip_to_int(ip): 
  return socket.ntohl(struct.unpack("I", socket.inet_aton(str(ip)))[0]) 
 
(ip,port)=get_my_ip() 
print "ip=%s port=%d" %(ip,port)

PortScan.py

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
 
import optparse 
from socket import * 
from threading import * 
 
screenLock = Semaphore(value=1) 
 
def connScan(tgtHost, tgtPort): 
  try: 
    connSkt = socket(AF_INET, SOCK_STREAM) 
    connSkt.connect((tgtHost, tgtPort)) 
    connSkt.send('ViolentPython\r\n') 
    results = connSkt.recv(100) 
    screenLock.acquire() 
    print '[+] %d/tcp open' % tgtPort 
    print '[+] ' + str(results) 
  except: 
    screenLock.acquire() 
    print '[-] %d/tcp closed' % tgtPort 
  finally: 
  screenLock.release() 
  connSkt.close()  
 
def portScan(tgtHost, tgtPorts): 
  try: 
    tgtIP = gethostbyname(tgtHost) 
  except: 
    print "[-] Cannot resolve '%s': Unknown host" %tgtHost 
    return 
 
  try: 
    tgtName = gethostbyaddr(tgtIP) 
    print '\n[+] Scan Results for: ' + tgtName[0] 
  except: 
    print '\n[+] Scan Results for: ' + tgtIP 
 
  setdefaulttimeout(1) 
  for tgtPort in tgtPorts: 
    t = Thread(target=connScan,args=(tgtHost,int(tgtPort))) 
    t.start() 
 
def main(): 
  parser = optparse.OptionParser('usage %prog '+\ 
   '-H <target host> -p <target port>') 
  parser.add_option('-H', dest='tgtHost', type='string',\ 
   help='specify target host') 
  parser.add_option('-p', dest='tgtPort', type='string',\ 
   help='specify target port[s] separated by comma') 
 
  (options, args) = parser.parse_args() 
 
  tgtHost = options.tgtHost 
  tgtPorts = str(options.tgtPort).split(',') 
 
  if (tgtHost == None) | (tgtPorts[0] == None): 
  print parser.usage 
    exit(0) 
 
  portScan(tgtHost, tgtPorts) 
 
 
if __name__ == '__main__': 
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python如何生成树形图案
Jan 03 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
python对html过滤处理的方法
Oct 21 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 Python
Python unittest基本使用方法代码实例
Jun 29 Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 Python
详解KMP算法以及python如何实现
Sep 18 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 Python
再谈python_tkinter弹出对话框创建
Mar 20 Python
Python迭代和迭代器详解
Nov 10 #Python
python通过cookie模拟已登录状态的初步研究
Nov 09 #Python
Python内置函数OCT详解
Nov 09 #Python
windows10系统中安装python3.x+scrapy教程
Nov 08 #Python
简单谈谈python中的多进程
Nov 06 #Python
python自带的http模块详解
Nov 06 #Python
Python程序中设置HTTP代理
Nov 06 #Python
You might like
杏林同学录(六)
2006/10/09 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
XENON基于JSON变种
2010/07/27 Javascript
Jquery之美中不足小结
2011/02/16 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
python 图片验证码代码
2008/12/07 Python
Python中的魔法方法深入理解
2014/07/09 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
是否有自动比较结构的方法
2015/06/03 面试题
寒假思想汇报
2014/01/10 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
运动会广播稿20字
2014/02/18 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
讲文明倡议书
2015/04/29 职场文书
电影雨中的树观后感
2015/06/15 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
HAM-2000摩机图
2021/04/22 无线电
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
Nginx报404错误的详细解决方法
2022/07/23 Servers