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实现去除代码前行号的方法
Mar 10 Python
python Celery定时任务的示例
Mar 13 Python
基于Python List的赋值方法
Jun 23 Python
python机器学习之神经网络实现
Oct 13 Python
python实现Flappy Bird源码
Dec 24 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
python控制台打印log输出重复的解决方法
May 14 Python
python通过函数名调用函数的几种方法总结
Jun 07 Python
Python实现简单的猜单词
Jun 15 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
Phpbean路由转发的php代码
2008/01/10 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
PHP 中常量的知识整理
2017/04/14 PHP
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
js微信分享实现代码
2020/10/11 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
python添加模块搜索路径方法
2017/09/11 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
python实现音乐下载的统计
2018/06/20 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
入党自荐书范文
2014/03/09 职场文书
素质教育标语
2014/06/27 职场文书
论文答谢词
2015/01/20 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
详解Vue的options
2021/05/15 Vue.js
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers