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用Bottle轻量级框架进行Web开发
Jun 08 Python
Python实现购物车功能的方法分析
Nov 10 Python
Flask之请求钩子的实现
Dec 23 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
django最快程序开发流程详解
Jul 19 Python
python随机数分布random均匀分布实例
Nov 27 Python
python多维数组分位数的求取方式
Mar 03 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
怎么快速自学python
Jun 22 Python
TensorFlow Autodiff自动微分详解
Jul 06 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
解析python中的jsonpath 提取器
Jan 18 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
PHP Mysql编程之高级技巧
2008/08/27 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
php中的依赖注入实例详解
2019/08/14 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
python封装对象实现时间效果
2020/04/23 Python
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
python操作xml文件示例
2014/04/07 Python
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
美国家居装饰店:Pier 1
2019/09/04 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
Go语言基础map用法及示例详解
2021/11/17 Golang