Skip to main content

IP to ISP/Country/City (GeoIP) using PHP

I've noted that many people are searching here about how to find out City/Country/ISP details from IP; often referred as GeoIP. Here, I've compiled my replies that once I posted to comp.lang.php


  1. Get the IP

  2. Refer http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml and see which whois server should be used for the whois lookup

  3. Now, do the whois lookup. e.g., whois -h whois.apnic.net 61.x.x.x

  4. Parse the results. AFAIK, it will have the ISP, City and Country info



For whois lookup, may use rwhois protocol through below PHP code:



<?php
function whois($host, $command)
{
$fp = fsockopen ($host, 43, $errno, $errstr, 100);
if (!$fp) {
$result = $errstr . $errno . "\n";
} else {
fputs ($fp, $command . "\r\n\r\n");
$result = '';
while (!feof($fp)) {
$result .= fgets ($fp, 128);
}
fclose ($fp);
}
return $result;
}

//debug...
echo whois('whois.internic.net', 'php.net');
?>



Related links


Comments

Popular posts from this blog

Work avoiders on the rise

roughly 80% of the effects come from 20% of the causes --  80–20 rule / Pareto principle One popular store (that is known for its less selling price, 6-storied air-conditioned showroom) is situated to close to our home. But, Heleena is allergic to it. Reason? Even though there are at least 50 sales people per floor, only 1 or 2 people will be working and responding to the customers' queries. In another shop, I even noticed that the owner was serving customer when many staffs were cleverly avoiding the show! I'm finding the same problem everywhere. Who're affected here? Obviously the people who're actually working--they will have to handle more work that the clever people have avoided. Two common gestures/characteristics I have noted in these clever people: 1. They'll pretend to be absolute ignorant (These people's agenda are merely to avoid works, but not to take credits.), 2. They'll create politics on anything (These people's agenda ar...

Storing unicode texts in MySQL with phpMyAdmin

Today, I've received a personal mail/request from Sivanantham Hemamalini, working for IT leisure in Singapore. Since I was in company when received the mail, I couldn't answer immediately. If I understand the question right, it is about inputting Unicode texts especially Tamil in phpMyAdmin. PhpMyAdmin 's default characterset is iso-8859-1 and so if we enter anything in the form, browser will convert it into numerical html entities. Say for example, if we enter தமிà®´் and submit the form, it will convert it to & #2980;& #2990;& #3007;& #2996;& #3021; . Because of this browser's behavior, it will be difficult to store the Unicode text as it is. Solutions Immediate solution I could think of is changing or forcing the browser's character encoding into utf-8. In Mozilla Firefox, it can be set via View -> Character Encoding -> Unicode (UTF-8) Another elegant solution might be changing the phpMyAdmin configurations so that it send...

Blockade for "Save Perarivalan"

My post Save Perarivalan was sadly late, but one of the earlier posts written in English. I have also tried my best to translate popular conspiracy theories on Rajiv Gandhi assassination . Fortunately that seem to have worked well and the post got more attention -- especially news like this: The noose and their views [Mid Day, November 4, 2011] started to appear. Recently I have noticed traffic to the page with referrer links http://x.x.x.x:15871/cgi-bin/blockOptions.cgi?ws-session=xxx -- meaning the page is blocked using Websense . When I resolved the IPs, shockingly they're from some big IT companies!