python 获取探针页面,自动查询公司出口
在一些渗透当中,我们需要批量探针出口来达到我们的目的。
所以就有了这个丑陋简洁的小脚本。
#!/usr/bin/env python
#-*- coding:utf- -*- import sys
import threading
import httplib
import re
import time class Myclass(threading.Thread):
def __init__(self,host,path):
threading.Thread.__init__(self)
self.host = host
self.path = path
self.result = [] def run(self):
if "https://" in self.host:
conn = httplib.HTTPSConnection(self.host,,None,None,False,)
else:
conn = httplib.HTTPConnection(self.host,,False,) i_headers = {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-Us; rv:1.9.1) Gecko/20090624 Firefox/3.5","Accept": "text/plain"}
conn.request('GET',self.path,headers = i_headers)
r1 = conn.getresponse() text = r1.read()
text1 = text.lstrip() #size = text.count("\n")
test = open('ip.txt','a+')
test.write(text1) b = open("ip.txt",'r')
c = open("ids.txt",'w')
for line in b.readlines():
m = re.search(r'(IP:\d*.\w*.\d*.\d*.\d*)',line)
mm = m.group()
owa = mm.replace("IP:","").strip().replace("\n","")
self.result = owa.replace("\n","")
c.write(self.result)
c.write("\n")
#print "write success"
g = open("ids.txt",'r')
for lines in g.readlines():
getsip = lines.replace("\n","")
try:
conns = httplib.HTTPConnection("bgp.he.net",,False,)
except Exception:
print "[-]:connection out time"
break
else:
conns.request('GET','/ip/%s' % getsip,headers = i_headers)
r2 = conns.getresponse()
texts = r2.read()
try:
line_split = re.search(r'(<u>.*\d+\D+.*.title=)',texts)
obj = line_split.group()
print "server:",obj.replace("<u>","").replace("</u>","").replace("\n","").replace("(<a href=\"","search domain:").replace("\" title=","").replace("/dns/","") except Exception, e:
pass
time.sleep()
#print line_split def main():
if len(sys.argv) < :
print "[*]:Usage python info.py 127.0.0.1 /path"
sys.exit()
Mythread = Myclass(sys.argv[],str(sys.argv[]))
Mythread.start() if __name__ == "__main__":
main()
python test.py ip /探针/1.txt
而1.txt页面为:
IP:xxx.xxx.xxx.xxx OS:Windows x Language:xxx Browser:FireFox 2x.0 Referer:xxxxx Cookies: Time:201x-0x-xx 05:43:51 AM id:xxxxx
因为查询的网站有限制。所以1个线程足以。
代码写的太粗糙了,见笑了。
python 获取探针页面,自动查询公司出口的更多相关文章
- python 获取excel数据 自动登陆
import xlrdimport timeimport unittestfrom selenium import webdriver class u8819(unittest.TestCase): ...
- Python获取web页面信息
import sys, urllib2 # req = urllib2.Request(sys.argv[1]) req = urllib2.Request('http://www.sina.com. ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
- 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数
一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...
- C# -- WebClient自动获取web页面编码并转换
C# -- WebClient自动获取web页面编码并转换 抽个时间,写篇小文章,最近有个朋友,用vb开发一个工具,遇到WebClient获取的内容出现乱码,可惜对vb不是很熟悉,看了几分钟vb的语法 ...
- python爬虫的页面数据解析和提取/xpath/bs4/jsonpath/正则(1)
一.数据类型及解析方式 一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值.内容一般分为两部分,非结构化的数据 和 结构化的数据. 非结构化数据:先有数据,再有结构, 结构化数 ...
- Django中获取参数(路径,查询,请求头,请求体)
一.通常HTTP协议向服务器传参有几种途径 : 提取URL的特定部分,如/weather/shanghai/2018,可以在服务器端的路由中用正则表达式截取: 查询字符串(query string), ...
- Python中实现异步并发查询数据库
这周又填了一个以前挖下的坑. 这个博客系统使用Psycopy库实现与PostgreSQL数据库的通信.前期,只是泛泛地了解了一下SQL语言,然后就胡乱拼凑出这么一个简易博客系统. 10月份找到工作以后 ...
- python登录csdn并自动评论下载资源脚本
功能 1.自动登录csdn 2.查找未评论的资源并自动评论 用到的库 1.python自带的requests,获取以及发送网页数据 2.python自带的time,用作休眠,csdn资源一段时间内只允 ...
随机推荐
- SharePoint BI
本篇博客主要针对SharePoint BI整体结构进行整理,为读者分析几种Sharepoint BI场景 先附一张自己做的结构图:
- UVAlive 7041 The Problem to Slow Down You(回文树)
题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...
- 第一份PHP程序
<?php list($ncase) = fscanf(STDIN,"%d"); $mod = 1000000007; for($n=0;$n<$ncase;++$n) ...
- ZooKeeper 基本介绍
Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数 ...
- IO流入门-第八章-BufferedWriter
BufferedWriter基本用法和方法示例 import java.io.*; public class BufferedWriterTest01 { public static void mai ...
- 四.mysql演示银行转账
代码演示: #conding:utf8 import pymysql import sys class TransferMoney(object): def __init__(self,conn): ...
- Hadoop的分布式架构改进与应用
1. 背景介绍 谈到分布式系统,就不得不提到Google的三驾马车:GFS[1],MapReduce[2]和BigTable[3]. 虽然Google没有开源这三个技术的实现源码,但是基于这三篇开源 ...
- Part1.1 、RabbitMQ 操作使用
本节目录: 一.最基本的生产者消费者二.acknowledgment 消息不丢失的方法. 三.durable 消息不丢失 (消息持久化) 四.消息获取顺序 RabbitMQ安装. (1.1).ce ...
- Redis——安装
Linux下面: 下载安装包: wget http://download.redis.io/releases/redis-4.0.10.tar.gz 解压: tar xzf redis-4.0.10. ...
- sqlserver建立相同的表结构
select * into purpose from source 来自为知笔记(Wiz)