700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux whois命令参数及用法详解--linux查询域名或IP注册信息

linux whois命令参数及用法详解--linux查询域名或IP注册信息

时间:2021-03-31 12:03:05

相关推荐

linux whois命令参数及用法详解--linux查询域名或IP注册信息

linux whois命令参数及用法详解--linux查询域名或IP注册信息

Linuxwhois命令参数及用法详解--linux查询域名或IP注册信息

Linux下whois命令令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写

的差别。即whois命令会列出给出的域名的域名所有者的信息。

最常用的两条命令

whois 202.102.224.68 //查询某个IP的注册信息

//查询某个域名的注册信息

如果系统里没有安装whois 可以用以下命令安装

一般查询whois信息会去一些网站查,比如

[root@ tmp]# yum list |grep whois

jwhois.i386 3.2.3-8.el5 base

安装whois:

[root@ tmp]# yum install jwhois.i386

语法

whois [参数] 查询

whois [ -h HostName ] [ . | ! ] [ * ] Name [ . . . ]

Name [ . . . ] 参数代表用户标识、主机名、网络地址或用于执行目录搜索的alias.html" target="_blank">别名。

主要参数

. 强制执行“仅按名称”搜索,查找Name参数指定的名称。

! 显示在 Name 参数中指定的别名或句柄标识的帮助信息。

* 显示一个组或组织的完整会员资格列表。如果有很多成员,这可能要花费一些时间。

向 ARPANET 主机请求帮助。

-h HostName 指定一个备用的主机名。在 ARPANET 上的缺省主机名是 。

通过指定 -h HostName 标志,可以联系其他主要的 ARPANET 用户名数据库(nic.ddn.mil)。

-p 连接到指定端口。

使用说明

/usr/bin/whois 命令搜索一个用户名目录并显示 Name 参数指定的用户标识和别名的信息。whois 命令试图到达ARPANET主机 ,在那里它检查用户名数据库以获取信息。whois

命令应该仅能由ARPANET上的用户使用。

请参考RFC 812以获取更完整的信息和对whois命令的最近更改。

注:如果您的网络是在美国国内网络(例如 ARPANET)上,则主机名和一样是硬编码的。

whois 命令执行通配符搜索,查找与任选的 …(三个句点)之前的字符匹配的所有名称。

实例 资料整理 Linux安全网

# 要显示用户名称为 Smith 的 ARPANET 注册用户的相关信息,请输入

whois Smith

# 要显示使用句柄 Hobo 的 ARPANET 注册用户的相关信息,请输入

whois !Hobo

# 要显示用户名称为 John Smith 的 ARPANET 注册用户的相关信息,请输入

whois .Smith, John

# 要显示用户名称或句柄以字母 HEN 开头的 ARPANET 注册用户的相关信息,请输入

whois HEN ...

# 要获取关于 whois 命令的帮助信息,请输入

whois ?

# 查询Google域名信息

whois

# 查询的域名信息,可以看到whois命令将域名的所有人、地址、邮箱都列出来了

whois

下面是一些实现whois命令功能的网管类网站的域名查询的系统:

/linux-.html

http://www.whois-

http://who.is

/whois.html

http://www./cgi-bin/reg/otherobj

/

/whois-cn.php用PHP实现标准的IPWhois查询

由于Internet的历史原因,apin负责整个网络IP的整体规划以及北美区 还有部分非洲地区的IP分配管理,与此相应的是,是IP whois的root server,标准的IP whois查询方

法是,首先向查询某个IP属于哪个大区,然后再向该区的whois 服务器查询此IP的whois详细信息。

目前负责IPV4的大区

美洲区 北美,包含非洲地区的查询

亚太区 包括亚洲和澳大利亚

欧洲区 欧洲/中东(西亚)/北非

拉美区 拉丁美洲和加勒比海区域向某个whois服务器提交whois查询的过程

打开一个到whois服务器的43端口的连接,然后发送要查询的域名 和一个回车换行。如果要查询多个域名,请用空格分开然后从sokect中读取结果。最后服务器将自动断开连接。

用php实现

验证IP(用 ip2long代替 ereg)

向查询,如果数据库中没有相关信息,会给出一个Referral Server的URL,格式如下

ReferralServer:xxxx然后根据此信息,继续查询。

whoisip.php

可以根据ip地址或域名查询whois信息。

<?php

include_once "lang.inc.php";

$IP = isset($_GET["ip"])?$_GET["ip"]:"blank";

if (-1 === ip2long($ip))

die(str_replace("%IP%", $IP, $Text["ip_invalid"]));

echo GetWhois($IP);

function GetWhois($IP) {

global $Text;

$rootwhois = "";

$buffer = str_replace("%SERVER%", $rootwhois, $Text["sock_connect"]);

$buffer1 = ReadSocket($rootwhois,$IP);

if ($buffer1 !== "") {

$whois = SubStrByTag("ReferralServer: whois://","n",$buffer1);

//remove port number ":43";

if ( ($pos=strpos($whois,":")) !== FALSE) {

$whois = substr($whois, 0,$pos);

}

if ($whois !== "") {

$buffer .= str_replace("%SERVER%", $whois, $Text["sock_connect"]);

$buffer .= ReadSocket($whois,$IP);

}else{

$buffer .= $buffer1;

}

}

return nl2br($buffer);

}

function SubStrByTag($firstTag,$secondTag,&$longStr) {

$firstPos = strpos ($longStr,$firstTag);

$ret = "";

if ($firstPos !== FALSE) {

$secondPos = strpos ($longStr,$secondTag,$firstPos);

if ($secondPos !== FALSE) {

$firstPos += strlen($firstTag);

$ret = substr($longStr,$firstPos,$secondPos-$firstPos);

}

}

return $ret;

}

function ReadSocket($whois,$ip) {

global $Text;

$buffer = "";

if (!$sock = fsockopen( $whois, 43, $errNum, $errStr, 20)) {

$buffer = str_replace("%SERVER%", $whois, $Text["sock_fail"]);

}else{

fputs($sock,"$ipn");

//$buffer = fread($sock, 8192);

while(!feof($sock)) $buffer.=fgets($sock, 8192);

fclose($sock);

}

return $buffer;

}

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。