文档章节

C语言实现查询whois

N3verL4nd
 N3verL4nd
发布于 2017/03/25 10:41
字数 516
阅读 5
收藏 0
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
	HANDLE handle;
	FILE *fp;
	FILE *foutput;
	int i, j, k, l;
	char szDomain[1024 * 4];
	char szBuf[1024 * 4];
	handle = GetStdHandle(STD_OUTPUT_HANDLE);

	for (i = 'b'; i <= 'z'; i++)
	{
		for (j = 'c'; j <= 'z'; j++)
		{
			for (k = 'd'; k <= 'z'; k++)
			{
				for (l = 'a'; l <= 'z'; l++)
				{
					sprintf(szDomain, "whois.exe %c%c%c%c.cn", i, j, k, l);
					fp = _popen(szDomain, "r");
					if (fp)
					{
						memset(szBuf, 0, sizeof(szBuf));
						fread(szBuf, 1, sizeof(szBuf), fp);
						if (strstr(szBuf, "no matching record."))
						{
							SetConsoleTextAttribute(handle, FOREGROUND_GREEN |    
															FOREGROUND_INTENSITY);
							printf("%s\n", szDomain);
							SetConsoleTextAttribute(handle, FOREGROUND_RED |
															FOREGROUND_GREEN |
															FOREGROUND_BLUE);
							printf("%s\n", szBuf);
							foutput = fopen("output.txt", "a+");
							fprintf(foutput, "%s\n", szDomain);
							fclose(foutput);
						}
						else
						{
							printf("%s\n", szDomain);
							printf("%s\n", szBuf);
						}
						_pclose(fp);
						Sleep(1000);
					}
				}
			}
		}
	}
	return 0;
}

保存还未占用的域名


乱码是由于cmd默认是gbk编码方式。

修改方法:

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。 

 

如果想正确显示UTF-8字符,可以按照以下步骤操作: 

1、打开CMD.exe命令行窗口 

2、通过 chcp命令改变代码页,UTF-8的代码页为65001 

chcp 65001 

执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。 

3、修改窗口属性,改变字体 

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。 

这时使用type命令就可以显示UTF-8文本文件的内容了: 

type filename.txt 

4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。

chcp 65001  就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语 

© 著作权归作者所有

N3verL4nd
粉丝 1
博文 379
码字总数 481243
作品 0
朝阳
私信 提问
WHOIS查询(WHOIS lookup)

WHOIS查询(WHOIS lookup) 简单来说:“WHOIS查询”用来获得某一域名的注册信息,当您搜索一个域名时,如果该域名已成功注册,它会反馈域名的注册信息,包括持有人、管理资料以及技术联络资...

hfzhoulin
2014/10/06
0
0
使用WHOIS协议查询domain信息

一、 原理 原理非常简单,域名的查询主要是基于RFC 954提供的WHOIS协议。在上述过程中,我们实际上是访问了InterNIC站点的WHOIS服务器,该服务器从WHOIS数据库中查询我们所需要的内容。 WHOI...

IamOkay
2016/05/07
379
0
《一般数据保护条例》将于2018年5月25日生效

《一般数据保护条例》将于2018年5月25日生效。这意味着WHOIS查询服务将不复存在。在新版公共记录系统下,个人和Sedo都无法通过whois查询域名持有人信息。目前,我们能够根据WHOIS记录确认,您...

加州肥猫
2018/05/26
23
0
Python使用Whois协议查询域名、IP地址信息

原文地址:http://shajunxing.tpddns.cn:8888/web/blog/2018-04-17-Python使用Whois协议查询域名、IP地址信息/index.html 问题由来 我想查询某个IP地址所属的运营商,于是在百度里搜索,得到...

shajunxing
2018/04/17
0
0
java验证域名是否有效

如果解析一个域名是否有效的, 站长之家工具里面用的是whois命令, 但是它们没有提供对外的借口, 只能自己写, 在apache上面找到一个叫common net的开源项目, 但是跑了后发现跟查询Whois命令里面...

Chasel-Li
2013/06/28
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
今天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
今天
6
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
今天
4
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.5K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部