当前位置: 移动技术网 > 科技>操作系统>Linux > linux whois命令参数及用法详解(linux查询域名或IP注册信息)

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

2019年03月21日  | 移动技术网科技  | 我要评论

光敏电阻原理,gogort.co,姓名签名设计

即whois命令会列出给出的域名的域名所有者的信息。
最常用的两条命令
whois 202.102.224.68 //查询某个ip的注册信息
whois www.jb51.net //查询某个域名的注册信息
如果系统里没有安装whois 可以用以下命令安装
一般查询whois信息会去一些网站查,比如 whois.chinaz.com
[root@jb51.net tmp]# yum list |grep whois
jwhois.i386 3.2.3-8.el5 base
安装whois:
[root@jb51.net tmp]# yum install jwhois.i386
语法
whois [参数] 查询
whois [ -h hostname ] [ . | ! ] [ * ] name [ . . . ]
name [ . . . ] 参数代表用户标识、主机名、网络地址或用于执行目录搜索的alias.html' target='_blank'>别名。
主要参数
. 强制执行“仅按名称”搜索,查找name参数指定的名称。
! 显示在 name 参数中指定的别名或句柄标识的帮助信息。
* 显示一个组或组织的完整会员资格列表。如果有很多成员,这可能要花费一些时间。
? 向 arpanet 主机请求帮助。
-h hostname 指定一个备用的主机名。在 arpanet 上的缺省主机名是 internic.net。
通过指定 -h hostname 标志,可以联系其他主要的 arpanet 用户名数据库(nic.ddn.mil)。
-p 连接到指定端口。
使用说明
/usr/bin/whois 命令搜索一个用户名目录并显示 name 参数指定的用户标识和别名的信息。whois 命令试图到达arpanet主机 internic.net,在那里它检查用户名数据库以获取信息。whois命令应该仅能由arpanet上的用户使用。
请参考rfc 812以获取更完整的信息和对whois命令的最近更改。
注:如果您的网络是在美国国内网络(例如 arpanet)上,则主机名和internic.net一样是硬编码的。
whois 命令执行通配符搜索,查找与任选的 …(三个句点)之前的字符匹配的所有名称。
实例 资料整理 www.jb51.net linux安全网

复制代码
代码如下:

# 要显示用户名称为 smith 的 arpanet 注册用户的相关信息,请输入
whois smith
# 要显示使用句柄 hobo 的 arpanet 注册用户的相关信息,请输入
whois !hobo
# 要显示用户名称为 john smith 的 arpanet 注册用户的相关信息,请输入
whois .smith, john
# 要显示用户名称或句柄以字母 hen 开头的 arpanet 注册用户的相关信息,请输入
whois hen ...
# 要获取关于 whois 命令的帮助信息,请输入
whois ?
# 查询google域名信息
whois google.com
# 查询gooss.org的域名信息,可以看到whois命令将域名的所有人、地址、邮箱都列出来了
whois gooss.org

下面是一些实现whois命令功能的网管类网站的域名查询的系统:
http://whois.911cha.com/linux-city.net.html
http://whois.hichina.com
http://whois.chinaz.com
http://ewhois.cnnic.cn
http://www.whois-search.com
http://www.whois.com
http://whois.domaintools.com
http://www.whois.net
http://who.is
http://www.internic.net/whois.html
http://www.nic.edu.cn/cgi-bin/reg/otherobj
http://whois.domaintools.com/china.com
http://www.101domain.com/whois-cn.php用php实现标准的ipwhois查询
由于internet的历史原因,apin负责整个网络ip的整体规划以及北美区 还有部分非洲地区的ip分配管理,与此相应的是,whois.apin.net是ip whois的root server,标准的ip whois查询方法是,首先向whois.apin.net查询某个ip属于哪个大区,然后再向该区的whois 服务器查询此ip的whois详细信息。
目前负责ipv4的大区
whois.arin.net 美洲区 北美,包含非洲地区的查询
whois.apnic.net 亚太区 包括亚洲和澳大利亚
whois.ripe.net 欧洲区 欧洲/中东(西亚)/北非
whois.lacnic.net 拉美区 拉丁美洲和加勒比海区域向某个whois服务器提交whois查询的过程
打开一个到whois服务器的43端口的连接,然后发送要查询的域名 和一个回车换行。如果要查询多个域名,请用空格分开然后从sokect中读取结果。最后服务器将自动断开连接。
用php实现
验证ip(用 ip2long代替 ereg)
向whois.arin.net查询,如果数据库中没有相关信息,会给出一个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 = 'whois.arin.net';
$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;
}
?>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网