一 介绍
这是我用Java写的一个C段查询的工具,目前还在完善中,现在只有一个命令行版的,GUI界面还没有写。由于用的是免费的接口,因此请求过快会出现各种异常,所以当每个IP查询后我都让线程休眠了2秒钟。总体算下来,扫描一个C段大概需要花11-15分钟左右。
二 这篇文章中用到的前置内容
这里需要用到的是:(1)单个IP反查域名;(2)查域名IP
C段查询雏形之在Java中反查一个IP上的所有域名(旁站查询)
三 函数核心:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
/**
* 针对一个域名或者IP,进行查询它C段上的域名
*
* @param domainOrIP 域名或者IP的字符串
*
* @return 暂时只是终端输出,无返回值
* */
public
void
CQuery(String domainOrIP){
// StringBuffer stringBuffer = new StringBuffer();
FindIP myIp =
new
FindIP();
String ip = myIp.getDomainIP(
"/c ping "
+ domainOrIP);
//IP地址
String ip_head =
""
;
//IP地址的前3段
String ip_temp =
""
;
//C段中的临时IP
String reg_ip =
"(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5]))?"
;
//取出IP的前3段
Pattern pattern = Pattern.compile(reg_ip);
Matcher matcher = pattern.matcher(ip);
if
(matcher.find()){
ip_head = matcher.group();
ip_temp = ip_head +
"."
+ String.valueOf(
1
);
//正式开始C段查询,前面3处相同,只有最后一处是从 1-->254
SearchDomainByIP searchDomain =
new
SearchDomainByIP();
Set<String> set =
new
HashSet<String>();
for
(
int
i =
1
;i <
255
;i++){
ip_temp = ip_head +
"."
+ String.valueOf(i);
set = searchDomain.getDomains(ip_temp);
Iterator<String> iterator = set.iterator();
System.out.println(
"针对IP:"
+ ip_temp +
",一共查到 "
+ set.size() +
"个旁站"
);
while
(iterator.hasNext()){
// stringBuffer.append(iterator.next());
System.out.println(iterator.next());
}
try
{
Thread.sleep(
2000
);
//每个IP查询结束休眠时间,单位是毫秒
}
catch
(InterruptedException e) {
e.printStackTrace();
}
}
}
else
{
System.out.println(ip);
}
// return stringBuffer.toString();
}
|
四 测试:
测试用例:
1
2
3
4
5
|
public
static
void
main(String[] args) {
CQueryDemo queryDemo =
new
CQueryDemo();
queryDemo.CQuery(
"www.360360.pw"
);
}
|
输出:
针对IP:162.211.183.1,一共查到 0个旁站
针对IP:162.211.183.2,一共查到 3个旁站
www.akmigfashijia.com
www.lfyipinjiayuan.com
www.mylostreturn.com
针对IP:162.211.183.3,一共查到 0个旁站
针对IP:162.211.183.4,一共查到 0个旁站
针对IP:162.211.183.5,一共查到 0个旁站
针对IP:162.211.183.6,一共查到 2个旁站
www.shenghezhuang.com
hcesc.yao.cl
针对IP:162.211.183.7,一共查到 1个旁站
rhmtczt.info.gf
针对IP:162.211.183.8,一共查到 0个旁站
针对IP:162.211.183.9,一共查到 0个旁站
针对IP:162.211.183.10,一共查到 1个旁站
xht.xhtqm6.cc
针对IP:162.211.183.11,一共查到 5个旁站
555198.com
www.555189.com
bb8080.com
555189.com
www.555198.com
针对IP:162.211.183.12,一共查到 0个旁站
针对IP:162.211.183.13,一共查到 1个旁站
www.hltzs.com
针对IP:162.211.183.14,一共查到 7个旁站
www.667703.com
www.123598.com
www.667704.com
667703.com
667704.com
www.667706.com
www.667702.com
针对IP:162.211.183.15,一共查到 3个旁站
www.acznk.com
hgxjw.yjdx.net
www.420dj.com
(PS:后面省略)