Ⅰ 純真IP資料庫在ASP。NET網站中如何用C#
應為在遠程伺服器上,沒有 F:\商務網站設計\QQip\ip\QQWry.Dat
你需要把它改寫成 Server.MapPath("/ip/QQWry.Dat");
然後把 QQWry.Dat 文件放在網站的ip 目錄下
Ⅱ 純真ip資料庫用什麼軟體能打開
1.運行純真QQIP資料庫里帶的ShowIP.exe,點解壓,輸入文件名,比如1.txt,確定,就得到一個TXT文件。
2.打開ACCESS,工具-自定義,命令選項卡,把導入選項拖動到上面的工具欄。
3.建庫,建一個表,四個欄位
startip 16 文本
endip 16 文本
country 100 文本
local 20 文本
依次為:欄位名,長度,類型
4.點導入按鈕,文件類型選文本文件,找到剛才導出的1.txt文件,導入到剛才建的表裡~
Ⅲ 純真IP怎麼用
資料庫收集了包括中國電信、中國網通、長城寬頻、網通寬頻、聚友寬頻等 ISP 的最新准確 IP 地址數據。包括最全的網吧數據。希望能夠通過大家的共同努力打造一個沒有未知數據,沒有錯誤數據的QQ IP。IP資料庫每5天更新一次,請大家定期更新最新的IP資料庫!
隨資料庫附送的查詢程序(Showip.exe)具有在線檢測並升級IP資料庫的功能,只要運行該程序,點擊右上角的「在線升級」,就可以升級IP資料庫到最新的版本,無需再到下載網站下載新版的IP資料庫。
使用方法:
把文件QQWry.Dat解壓到QQ的目錄,覆蓋原有的文件。關閉QQ,重新啟動。就能升級QQ的IP資料庫。
Ⅳ 如何在QQ珊瑚蟲中使用用純真IP資料庫
將純真的IP文件改名為CoralWry.dat,然後復制到QQ的安裝文件夾中就可以了.
Ⅳ 什麼是純真ip段資料庫
就是一個可以查詢ip地址的軟體,可以裝在QQ中,讓你查詢ip地址很方便。但是不怎麼好用。實用性不大。他那個資料庫里包含了大部分ip地址的歸屬地。
Ⅵ 如何把純真ip資料庫導入到Mysql數據表中
一、下載最新版的QQWry.Dat
二、下載IPLook
使用IPLook把QQWry.Dat文件解壓到IPData.txt文件
打開IPData.txt文件格式是這樣的
0.0.0.0 0.255.255.255 IANA保留地址 CZ88.NET
1.0.0.0 1.0.0.255 澳大利亞 CZ88.Net
1.0.1.0 1.0.3.255 福建省 電信
1.0.4.0 1.0.7.255 澳大利亞 CZ88.NET
1.0.8.0 1.0.15.255 廣東省 電信
1.0.16.0 1.0.31.255 日本 CZ88.NET
1.0.32.0 1.0.63.255 廣東省 電信
1.0.64.0 1.0.127.255 日本 CZ88.NET
1.0.128.0 1.0.255.255 泰國 CZ88.NET
1.1.0.0 1.1.0.255 福建省 電信
1.1.1.0 1.1.1.255 澳大利亞 CZ88.NET
三、使用Navicat for MySQL工具
1.建立ip資料庫表
CREATE TABLE `ip` (
`StartIP` varchar(20) default '',
`EndIP` varchar(20) default NULL,
`Country` varchar(30) default NULL,
`Local` varchar(50) default NULL,
KEY `IP` USING BTREE (`StartIP`,`EndIP`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2.使用Navicat for MySQL的導入向導功能把IPData.txt文件的數據導入到ip數據表中
四、如何在MySQL中對ip比較
select * from ip where INET_ATON('119.253.32.42') between INET_ATON(startIp) and INET_ATON(endIp);
Ⅶ 純真ip資料庫是做什麼用的怎麼用
安裝文件夾下有一個可執行文件,在那個軟體的界面里你可以搜索ip對應的物理位置,也可以按照地址查詢這個地址的ip段,在網路攻擊的時候有用。
Ⅷ ip資料庫純真版怎麼用它的使用方法:把文件QQWry.Dat解壓到QQ的目錄,qq目錄下都沒qqwrydat這個文件
這個只是數據,沒有相應的程序,沒什麼用途
當然,自己寫程序也是可以的
Ⅸ 純真ip資料庫怎麼導入mysql中
打開IPData.txt文件格式是這樣的
0.0.0.0 0.255.255.255 IANA保留地址 CZ88.NET
1.0.0.0 1.0.0.255 澳大利亞 CZ88.NET
1.0.1.0 1.0.3.255 福建省 電信
1.0.4.0 1.0.7.255 澳大利亞 CZ88.NET
1.0.8.0 1.0.15.255 廣東省 電信
1.0.16.0 1.0.31.255 日本 CZ88.NET
1.0.32.0 1.0.63.255 廣東省 電信
1.0.64.0 1.0.127.255 日本 CZ88.NET
1.0.128.0 1.0.255.255 泰國 CZ88.NET
1.1.0.0 1.1.0.255 福建省 電信
1.1.1.0 1.1.1.255 澳大利亞 CZ88.NET
三、使用Navicat for MySQL工具
1.建立ip資料庫表
CREATE TABLE `ip` (
`StartIP` varchar(20) default '',
`EndIP` varchar(20) default NULL,
`Country` varchar(30) default NULL,`Local` varchar(50) default NULL,
Ⅹ 純真ip資料庫怎麼用 (詳細點的)
你是使用php來讀取資料庫的嗎?
如果是的話,那麼,你把下面的這個類保存成一個文件:
————————————————————
<?php
/**
* IP 地理位置查詢類
*
* @author joyphper
* @version 1.0
* @right 2010 joyphper.net
*/
class ip_area {
/**
*
*
* @var resource
*/
private $fp;//IP庫文件指針 resource
private $firstip;//第一條IP記錄的偏移地址 int
private $lastip;//最後一條IP記錄的偏移地址 int
private $totalip;//IP記錄的總條數(不包含版本信息記錄) int
/**
* 構造函數,打開 QQWry.Dat 文件並初始化類中的信息
*
* @param string $filename
* @return IpLocation
*/
public function __construct($filename = "data/ipdb.Dat") {//////////////////////////////////////////////這里注意,根據你的資料庫存放位置不同,把這個資料庫進行引入。
$this->fp = 0;
if (($this->fp = fopen($filename, 'rb')) !== false) {
$this->firstip = $this->getlong();
$this->lastip = $this->getlong();
$this->totalip = ($this->lastip - $this->firstip) / 7;//注冊析構函數,使其在程序執行結束時執行
register_shutdown_function(array(&$this, '__destruct'));
}
}
/**
* 析構函數,用於在頁面執行結束後自動關閉打開的文件。
*
*/
public function __destruct() {
if ($this->fp) {
fclose($this->fp);
}
$this->fp = 0;
}
/**
* 返回讀取的長整型數
*
* @access private
* @return int
*/
private function getlong() {//將讀取的little-endian編碼的4個位元組轉化為長整型數
$result = unpack('Vlong', fread($this->fp, 4));
return $result['long'];
}
/**
* 返回讀取的3個位元組的長整型數
*
* @access private
* @return int
*/
private function getlong3() {//將讀取的little-endian編碼的3個位元組轉化為長整型數
$result = unpack('Vlong', fread($this->fp, 3).chr(0));
return $result['long'];
}
/**
* 返回壓縮後可進行比較的IP地址
*
* @access private
* @param string $ip
* @return string
*/
private function packip($ip) {// 將IP地址轉化為長整型數,如果在PHP5中,IP地址錯誤,則返回False,// 這時intval將Flase轉化為整數-1,之後壓縮成big-endian編碼的字元串
return pack('N', intval(ip2long($ip)));
}
/**
* 返回讀取的字元串
*
* @access private
* @param string $data
* @return string
*/
private function getstring($data = "") {
$char = fread($this->fp, 1);
while (ord($char) > 0) {// 字元串按照C格式保存,以\0結束
$data .= $char;// 將讀取的字元連接到給定字元串之後
$char = fread($this->fp, 1);
}
return $data;
}
/**
* 返回地區信息
*
* @access private
* @return string
*/
private function getarea() {
$byte = fread($this->fp, 1);// 標志位元組
switch (ord($byte)) {
case 0:// 沒有區域信息
$area = "";
break;
case 1:
case 2:// 標志位元組為1或2,表示區域信息被重定向
fseek($this->fp, $this->getlong3());
$area = $this->getstring();
break;
default:// 否則,表示區域信息沒有被重定向
$area = $this->getstring($byte);
break;
}
return $area;
}
/**
* 根據所給 IP 地址或域名返回所在地區信息
*
* @access public
* @param string $ip
* @return array
*/
public function get($ip) {
if (!$this->fp) return null;// 如果數據文件沒有被正確打開,則直接返回空
$location['ip'] = gethostbyname($ip); // 將輸入的域名轉化為IP地址
$ip = $this->packip($location['ip']); // 將輸入的IP地址轉化為可比較的IP地址
// 不合法的IP地址會被轉化為255.255.255.255// 對分搜索
$l = 0;// 搜索的下邊界
$u = $this->totalip;// 搜索的上邊界
$findip = $this->lastip;// 如果沒有找到就返回最後一條IP記錄(QQWry.Dat的版本信息)
while ($l <= $u) {// 當上邊界小於下邊界時,查找失敗
$i = floor(($l + $u) / 2); // 計算近似中間記錄
fseek($this->fp, $this->firstip + $i * 7);
$beginip = strrev(fread($this->fp, 4));// 獲取中間記錄的開始IP地址// strrev函數在這里的作用是將little-endian的壓縮IP地址轉化為big-endian的格式// 以便用於比較,後面相同。
if ($ip < $beginip) {// 用戶的IP小於中間記錄的開始IP地址時
$u = $i - 1;// 將搜索的上邊界修改為中間記錄減一
}else{
fseek($this->fp, $this->getlong3());
$endip = strrev(fread($this->fp, 4)); // 獲取中間記錄的結束IP地址
if ($ip > $endip) {// 用戶的IP大於中間記錄的結束IP地址時
$l = $i + 1;// 將搜索的下邊界修改為中間記錄加一
}else{// 用戶的IP在中間記錄的IP范圍內時
$findip = $this->firstip + $i * 7;
break;// 則表示找到結果,退出循環
}
}
}//獲取查找到的IP地理位置信息
fseek($this->fp, $findip);
$location['beginip'] = long2ip($this->getlong()); // 用戶IP所在范圍的開始地址
$offset = $this->getlong3();
fseek($this->fp, $offset);
$location['endip'] = long2ip($this->getlong());// 用戶IP所在范圍的結束地址
$byte = fread($this->fp, 1);// 標志位元組
switch (ord($byte)) {
case 1:// 標志位元組為1,表示國家和區域信息都被同時重定向
$countryOffset = $this->getlong3();// 重定向地址
fseek($this->fp, $countryOffset);
$byte = fread($this->fp, 1);// 標志位元組
switch (ord($byte)) {
case 2:// 標志位元組為2,表示國家信息又被重定向
fseek($this->fp, $this->getlong3());
$location['country'] = $this->getstring();
fseek($this->fp, $countryOffset + 4);
$location['area'] = $this->getarea();
break;
default:// 否則,表示國家信息沒有被重定向
$location['country'] = $this->getstring($byte);
$location['area'] = $this->getarea();
break;
}
break;
case 2:// 標志位元組為2,表示國家信息被重定向
fseek($this->fp, $this->getlong3());
$location['country'] = $this->getstring();
fseek($this->fp, $offset + 8);
$location['area'] = $this->getarea();
break;
default:// 否則,表示國家信息沒有被重定向
$location['country'] = $this->getstring($byte);
$location['area'] = $this->getarea();
break;
}
if ($location['country'] == " CZ88.NET") { // CZ88.NET表示沒有有效信息
$location['country'] = "未知";
}
if ($location['area'] == " CZ88.NET") {
$location['area'] = "";
}
$location['country']=iconv('gbk', 'utf-8', $location['country']);
$location['area']=iconv('gbk', 'utf-8', $location['area']);
return $location;
}
}
?>
——————————————
這個類里有個引入資料庫的行,需要你進行更改。
接下來,你在需要使用IP資料庫的頁面中,將這個類引入,並執行下列函數:
$ip = new ip_area();
這個類不用傳參,自會得到ip的地理位置。
最後,如果你想得到IP值,那麼可以使用以下方法:
————————
function ip(){//-------------------------------------------獲得用戶IP;
if(isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
$realip=$_SERVER["HTTP_CLIENT_IP"];
}else{
$realip=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$realip=getenv("HTTP_CLIENT_IP");
}else{
$realip=getenv("REMOTE_ADDR");
}
}
return $realip;
}
——————————————————————