php exec whois,PHP 执行 whois 操作的代码

要获取指定IP地址的whois数据,可使用如下代码

1.[代码][PHP]代码

/**

Program to perform ip whois

Silver Moon

m00n.silv3r@gmail.com

*/

$ip = "74.65.112.23";

$whois = get_whois($ip);

echo "

$whois
";

/**

Get the whois content of an ip by selecting the correct server

*/

function get_whois($ip)

{

$w = get_whois_from_server('whois.iana.org' , $ip);

preg_match('@whois\.[\w\.]*@si' , $w , $data);

$whois_server = $data[0];

//echo $whois_server;

//now get actual whois data

$whois_data = get_whois_from_server($whois_server , $ip);

return $whois_data;

}

/**

Get the whois result from a whois server

return text

*/

function get_whois_from_server($server , $ip)

{

$data = '';

#Before connecting lets check whether server alive or not

#Create the socket and connect

$f = fsockopen($server, 43, $errno, $errstr, 3);//Open a new connection

if(!$f)

{

return '';

}

#Set the timeout limit for read

if(!stream_set_timeout($f , 3))

{

die('Unable to set set_timeout');#Did this solve the problem ?

}

#Send the IP to the whois server

if($f)

{

fputs($f, "$ip\r\n");

}

/*

Theory : stream_set_timeout must be set after a write and before a read for it to take effect on the read operation

If it is set before the write then it will have no effect : http://in.php.net/stream_set_timeout

*/

//Set the timeout limit for read

if(!stream_set_timeout($f , 3))

{

die('Unable to stream_set_timeout');#Did this solve the problem ?

}

//Set socket in non-blocking mode

stream_set_blocking ($f, 0 );

//If connection still valid

if($f)

{

while (!feof($f))

{

$data .= fread($f , 128);

}

}

//Now return the data

return $data;

}

2.[代码]执行结果

#

# Query terms are ambiguous. The query is assumed to be:

# "n 74.65.112.23"

#

# Use "?" to get help.

#

#

# The following results may also be obtained via:

# http://whois.arin.net/rest/nets;q=74.65.112.23?showDetails=true&showARIN=false&ext=netref2

#

NetRange: 74.64.0.0 - 74.79.255.255

CIDR: 74.64.0.0/12

OriginAS:

NetName: RRNY

NetHandle: NET-74-64-0-0-1

Parent: NET-74-0-0-0-0

NetType: Direct Allocation

RegDate: 2006-03-27

Updated: 2007-01-29

Ref: http://whois.arin.net/rest/net/NET-74-64-0-0-1

OrgName: Road Runner HoldCo LLC

OrgId: RRNY

Address: 13820 Sunrise Valley Drive

City: Herndon

StateProv: VA

PostalCode: 20171

Country: US

RegDate: 2000-09-28

Updated: 2011-07-06

Comment: Allocations for this OrgID serve Road Runner residential customers out of the New York City, NY and Syracuse, NY RDCs.

Ref: http://whois.arin.net/rest/org/RRNY

ReferralServer: rwhois://ipmt.rr.com:4321

OrgTechHandle: IPTEC-ARIN

OrgTechName: IP Tech

OrgTechPhone: +1-703-345-3416

OrgTechEmail: abuse@rr.com

OrgTechRef: http://whois.arin.net/rest/poc/IPTEC-ARIN

OrgAbuseHandle: ABUSE10-ARIN

OrgAbuseName: Abuse

OrgAbusePhone: +1-703-345-3416

OrgAbuseEmail: abuse@rr.com

OrgAbuseRef: http://whois.arin.net/rest/poc/ABUSE10-ARIN

#

# ARIN WHOIS data and services are subject to the Terms of Use

# available at: https://www.arin.net/whois_tou.html

#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值