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脚本来获取Google搜索结果的示例
May 04 Python
python网络编程之文件下载实例分析
May 20 Python
pandas修改DataFrame列名的方法
Apr 08 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
Python同步遍历多个列表的示例
Feb 19 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Python求解正态分布置信区间教程
Nov 20 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
python os.listdir()乱码解决方案
Jan 31 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 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
php数组的一些常见操作汇总
2011/07/17 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
PHP7多线程搭建教程
2017/04/21 PHP
laravel自定义分页效果
2017/07/23 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python 剪切移动文件的实现代码
2018/08/02 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
PyQt5实现登录页面
2020/05/30 Python
python类共享变量操作
2020/09/03 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
德国网上宠物店:Zoobio
2018/05/23 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
养殖人员的创业计划书范文
2013/12/26 职场文书
人事部主管岗位职责
2013/12/26 职场文书
入党思想汇报
2014/01/05 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
党性分析自查总结
2014/10/14 职场文书
万能检讨书2000字
2014/10/17 职场文书
导游词范文
2015/02/13 职场文书
学校德育工作总结2015
2015/05/11 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书