小菜自己无聊写着玩,主要纪念以前的逗逼学习,可以改IPy

  1. import mechanize
  2. import cookielib
  3. import socket
  4. import argparse
  5. import threading
  6.  
  7. def findc(ip):
  8. position = find_position(ip)
  9. ip_all = []
  10. for i in range(1,256):
  11. ip1 = ip[:position] + str(i)
  12. ip_all.append(ip1)
  13. return ip_all
  14.  
  15. def find_position(ip):
  16. m = len(ip)-1
  17. while True:
  18. if ip[m] == '.':
  19. return m+1
  20. break
  21. else:
  22. m = m-1
  23.  
  24. def find_title(url):
  25. try:
  26. global ip,port
  27. br = mechanize.Browser()
  28. br.set_cookiejar(cookielib.LWPCookieJar()) # Cookie jar
  29. br.set_handle_equiv(True) # Browser Option
  30. # br.set_handle_gzip(True)
  31. br.set_handle_redirect(True)
  32. br.set_handle_referer(True)
  33. br.set_handle_robots(False)
  34. br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
  35.  
  36. br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
  37.  
  38. br.open(url)
  39. t = br.title().decode('utf-8').encode('gb2312')
  40. mutex.acquire()
  41. print "url: %s-->%s"%(url,t)
  42. mutex.release()
  43. except:
  44. print "this url don't have titile: %s"%url
  45. pass
  46.  
  47. if __name__ == "__main__":
  48. # name = socket.gethostname()
  49. # ip = socket.gethostbyname(name)
  50. global ip,port,mutex
  51. mutex = threading.Lock()
  52. parser = argparse.ArgumentParser()
  53. parser.add_argument("-i","--ip",dest="a", help='the first argument')
  54. parser.add_argument("-p","--port",dest="b",default=80, help='the first argument')
  55. parser.add_argument("-t","--thread",dest="c",default=10, type=int,help='the first argument')
  56. args=parser.parse_args()
  57. ip = args.a
  58. port = args.b
  59. thread = args.c
  60.  
  61. threads = []
  62. c = findc(ip)
  63. for i in c:
  64. print i
  65. for i in c:
  66. url = "http://"+i.strip()+":"+str(port)
  67. threads.append(threading.Thread(target=find_title,args=(url,)))
  68.  
  69. for t in threads:
  70. while True:
  71. if threading.activeCount() < thread:
  72. break
  73. t.start()
  74.  
  75. for t in threads:
  76. t.join()

python扫描内网banner信息的更多相关文章

  1. nmap扫描内网存活机器脚本

    nmap扫描内网存活机器并保存在指定文件中. host.sh #/usr/bin/bash read -p "Please input scan host or network:" ...

  2. 我是如何通过一个 XSS 探测搜狐内网扫描内网并且蠕动前台到最后被发现的

    我是如何通过一个 XSS 探测搜狐内网扫描内网并且蠕动前台到最后被发现的!(附带各种 POC) | WooYun-2014-76685 | WooYun.orghttp://wooyun.org/bu ...

  3. (转)Ubuntu 17.04_64上搭建巡风扫描系统(资产信息漏洞扫描内网神器)

    巡风简介 巡风是一款适用于企业内网的漏洞快速应急.巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表.其主体分为两部分:网络资产识别 ...

  4. python 判断内网IP方法及实例应用

    一.初衷: 一般在CMDB里会存储一台服务器的内网IP.管理IP.电信IP.联通IP,我们在使用的时候只需要拿到其中一个外网IP地址即可.那么我们就需要判断内网IP.管理IP并剔除掉,获取第一个外网I ...

  5. Python获取内网IP

    Python 获取本机内网IP 本文记录使用Python获取本机IP的两种方法. 通过hostname来获取本机IP import socket print(socket.gethostbyname( ...

  6. 扫描内网活跃的ip

    网段内活跃的ip:nmap -sP 10.10.30.0/24|grep for|awk '{print $5}'

  7. Python判断内网IP

    def ip_into_int(ip): # 先把 192.168.1.13 变成16进制的 c0.a8.01.0d ,再去了"."后转成10进制的 3232235789 即可. ...

  8. python写外网收集信息器

    简单化,知道IP去扫描ip import socket from socket import * a=input('请输入域名:') try: ip=gethostbyname(a) print('[ ...

  9. python爬取网业信息案例

    需求:爬取网站上的公司信息 代码如下: import json import os import shutil import requests import re import time reques ...

随机推荐

  1. Scheme vs Schema

    在计算机数据描述领域,Scheme由于原意为“主题”,“方案”,“构想”等,因此一般指比较明确的(具体的)“方案”.“体系”,例如一个术语词表.分类表等,而Schema通常翻译成“模式”,比较强调形式 ...

  2. Virtual Friend Function

    一般而言,友元作为一种紧耦合的设计,被视作类的一部分.一个经典的应用就是关于类的序列化和反序列化. class A { friend ostream& operator<<(ost ...

  3. 详解Java中的访问控制修饰符(public, protected, default, private)

    Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...

  4. 黑马程序员——【Java基础】——Java概述

    ---------- android培训.java培训.期待与您交流! ---------- 一.Java语言概述及三大技术架构 1.Java语言概述 Java是SUN公司于1995年推出的一种面向I ...

  5. HDU5441 Travel 并查集

    http://acm.hdu.edu.cn/showproblem.php?pid=5441 无向图,n个点,m条带权边,q次询问,给出数值d,点a可以到点b当且仅当存在一条路线其中最大的权值不超过d ...

  6. C# subString的理解

    public void TestMethod1()        {            string str = "ABCDEFGHIJKLMN"; string result ...

  7. 编程之美的2.17,数组循环移位 & 字符串逆转(反转) Hello world Welcome => Welcome world Hello

    代码如下:(类似于编程之美的2.17,数组循环移位) static void Main(string[] args) { string input = "Hello World Welcom ...

  8. 转linux

    随着上班的深入,愈来愈感觉到转linux的必要性,最近做实验室的网页,在windows下是好的, 没想到,传到liunx服务器上,居然出了问题,很是郁闷,平时还是用liunx用的少了. 以后操作系统要 ...

  9. Linux Shell 命令

    (1) 操作一个文件并对文件查询行进行切分处理 (或者1-) (2) 操作文件进行去重并显示重复次数 | sort | uniq -c (3) 查看总的汇总行数 | sort | uniq -c | ...

  10. 基于Open vSwitch的OpenFlow实践

    Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机.在虚拟化平台上,OVS 可以为动态变化的端点提供 2 ...