扫描网站服务器真实IP的小脚本

 1 #!/usr/bin/env python
 2 # -*- coding: gbk -*-
 3 # -*- coding: utf_8 -*-
 4 # Date: 2015年9月11日
 5 # Author:蔚蓝行
 6 # 博客 http://www.cnblogs.com/duanv/
 7
 8 import requests
 9 import threading
10 import Levenshtein
11 import re
12
13 def scan(original_r,cip,ip_begin,original_match,header):
14     ip=cip+str(ip_begin)
15     try:
16         r=requests.get(‘http://‘+ip,headers=header,timeout=1)
17     except Exception:
18         pass
19     else:
20         if(r.status_code==original_r.status_code):
21             if r.content==original_r.content:
22                 print ‘---everything is match!---\n‘+ip+‘\n--------------------------\n\n\n‘,
23             else:
24                 if Levenshtein.ratio(r.text,original_r.text)>0.8:
25                     match=re.search(r"<title>(.*?)</title>",r.content)
26                     try:
27                         if match==original_match or match.group()==original_match.group():
28                             print ‘--matches>0.8-same title--\n‘+ip+‘\n--------------------------\n\n\n‘,
29                         else:
30                             print ‘--matches>0.8-diff title--\n‘+ip+‘\n--------------------------\n\n\n‘,
31                     except Exception:
32                         if match==None:
33                             #扫描网页无标题
34                             print ‘-matches>0.8-none title-s-\n‘+ip+‘\n--------------------------\n\n\n‘,
35                         else:
36                             #原始网页无标题
37                             print ‘-matches>0.8-none title-o-\n‘+ip+‘\n--------------------------\n\n\n‘,
38
39 def loop(original_r,cip,original_match,header):
40     global ip_begin,ip_end,mutex
41     while 1:
42         mutex.acquire()
43         if ip_begin > ip_end:
44             mutex.release()
45             break
46         ip=ip_begin
47         ip_begin += 1
48         mutex.release()
49         scan(original_r,cip,ip,original_match,header)
50
51 def start():
52     global ip_begin,ip_end,mutex
53
54     ip_begin=1
55     ip_end=254
56     mutex=threading.Lock()
57
58     cip=‘180.97.33.‘
59     address=‘www.baidu.com‘
60
61     #cip=‘220.181.136.‘
62     #address=‘www.219.me‘
63
64     header={"host":address,"Accept-Encoding":"identity","User-Agent":""}
65     r=requests.get(‘http://‘+address,headers=header)
66
67     original_match=re.search(r"<title>(.*?)</title>",r.content)
68
69     threads=[]
70     for i in range(254):
71         threads.append(threading.Thread(target=loop,args=(r,cip,original_match,header)))
72     for t in threads:
73         t.start()
74
75 if __name__ == ‘__main__‘:
76     start()

1,由于是多线程,输出时如果用print xxx会出现因线程抢占而造成的输出乱序,改用print xxx+‘\n’,可以不用线程锁并解决这个问题

2,扫描网段时请求头加上host:domain_name,可以解决单一IP对应多域名的问题

3,发送请求时将UA头置空,可以防止某些网站服务器返回内容过大和不完全相同的问题,提高效率。比如请求百度,有UA头情况下返回的页面内容相当大,而且不同IP返回内容有细微差别,脚本就会进行相似度比较,耗时巨大,如果置空UA头,请求响应内容就比较小,而且不同IP返回内容相同

时间: 2024-10-31 03:07:34

扫描网站服务器真实IP的小脚本的相关文章

域名做CDN来通过隐藏服务器真实IP的方法来防止DDoS攻击(转)

隐藏服务器真实IP是解决问题最好和最快的方法,但只针对小流量,大流量同样会扛不住. 服务器前端加CDN中转,比如阿里云.百度云加速.360网站卫士.加速乐.安全宝等,如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址.此外,服务器上部署的其他域名也不能使用真实IP解析,全部都使用CDN来解析. 另外防止服务器对外传送信息泄漏IP,最常见的是,服务器不使用发送邮件功能,如果非要发送邮件,可以通过第三方代理(例如sendcl

云盾正常扫描云服务器的IP是什么

问题:云盾正常扫描云服务器的IP是什么? 解答:云盾扫描云服务器的的IP段固定为 42.120.145.0/24 110.75.105.0/24 110.75.185.0/24 110.75.186.0/24 112.125.32.0/24 112.124.36.187/32 121.0.19.0/24 121.0.30.0/24 121.42.0.0/24 42.120.142.0/24 42.156.250.0/24 http://help.aliyun.com/knowledge_deta

Shell进行MySQL表跨服务器增量更新同步小脚本

工作所需写的小脚本. # !/bin/bash # Author : 蛙鳜鸡鹳狸猿# create_ts : 2017年 01月 03日 星期二 14:48:14 CST# program : Incremental transfer table records between MySQL servers# crontab : 11/min# # # __init__ host_src=yourht_A # source db server config listuser_src=rootpsw

探测ip段小脚本

#!/bin/bash #edit by www.jbxue.com for a in {1..254} do if ping -w 1 -c 1 152.55.249.$a | grep "100%" >/dev/null then echo "152.55.249.$a is Not reachable" else echo "152.55.249.$a is reachable" fi done 解释:-w表示时间一秒,-c表示pin

绕过CDN查找网站真实IP方法收集

方法1很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://ping.aizhan.com/ http://ce.cloud.360.cn/ 复制代码 T00LS; O- Y- \+ W* c) T3 ]方法2使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN.有 CDN 的示例: - 专注网络安全0 k# f,

隐藏真实ip服务器

有很多站长由于业务的特殊性,而需要隐藏网站服务器的真实ip,针对这部分客户的需求天下数据IDC特推出隐藏真实ip的海外服务器租用! 您是否在为网站被攻击而烦恼?99%的服务器是不抗攻击的,有DDOS攻击来了,机房会屏蔽服务器的IP 24-72小时,甚至直接关闭服务器无法取回数据,这对于大部分网站来说,是很难接受的现实.为了应付这种事情的发生,天下数据推出隐藏真实ip服务器租用,隐藏您VPS或服务器的真实IP,并将您收到的攻击,由我们的抗攻击服务器来承担,而我们的抗攻击服务器,可以比vps更多更有

CloudFlare防护下的破绽:寻找真实IP的几条途径

本文仅代表作者独立观点,本文提及的技术仅供安全研究和渗透测试用途 看Twitter发现CloudFlare总裁什么的最近很高调,北京.香港的跑着参加会议.发表演说什么的,CloudFlare似乎也没那么牛逼吧.前段就关注过比较火热的CloudFlare如何抵御住大流量的攻击.政治跟咱没毛线关系,但你说你那么牛,这就有点不太合适了吧. 目前大部分的网站都基于虚拟化部署,说的高大上一点就是云技术和CDN技术.在闲暇之余也关注过这个事情,毕竟是比较先进的技术,以前传统的入侵渗透都是基于单主机,最多就是

网站服务器防止DDOS攻击的方法

1.保证服务器系统的安全首先要确保服务器软件没有任何漏洞,防止攻击者入侵.确保服务器采用最新系统,并打上安全补丁.在服务器上删除未使用的服务,关闭未使用的端口.对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞. 2.隐藏服务器真实IP服务器前端加CDN中转(免费的有百度云加速.360网站卫士.加速乐.安全宝等),如果资金充裕的话,可以购买高防的盾机,用于隐藏服务器真实IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址.此外,服务器上部署的其他域名也不能使用真实IP解

11种绕过CDN查找真实IP方法

0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://ping.aizhan.com/ http://ce.cloud.360.cn/ 方法2: 使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN.有 CDN 的示例: www.163.com 服务器: public1.11