主頁 > 知識庫 > Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享

Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享

熱門標簽:熱門電銷機器人 okcc外呼系統(tǒng)怎么調(diào)速度 河南虛擬外呼系統(tǒng)公司 萬利達百貨商場地圖標注 上海企業(yè)外呼系統(tǒng) 電話機器人哪里有賣 惠州龍門400電話要怎么申請 外呼電信系統(tǒng) 智能機器人電銷神器

這里首先介紹下nali的這個開源小程序,項目地址:http://code.google.com/p/qqwry/

以下介紹來自項目的負責(zé)人的網(wǎng)站的陳述:

復(fù)制代碼 代碼如下:

下載

nali-0.2.tar.gz – 2011-09-11發(fā)布(下載鏈接一,下載鏈接二)
nali-0.1.tar.gz – 2009-08-16發(fā)布

說明

nali,名字取自中文“哪里”的拼音。nali包含一組命令行程序,其主要功能就是把一些網(wǎng)絡(luò)工具的輸出的IP字符串,附加上地理位置信息(使用 純真數(shù)據(jù)庫QQWry.Dat)。例如218.65.137.1會變成218.65.137.1[廣西南寧市 電信]。查詢是在本地進行,并不會進行聯(lián)網(wǎng)查詢,所以效率方面不會對原始命令產(chǎn)生什么影響。

目前包含以下幾個命令:
nali
nali-dig
nali-nslookup
nali-traceroute
nali-tracepath
nali-ping

使用這些命令的前提是,他們對應(yīng)的命令必須存在。例如你要用nali-dig,必須保證dig是存在的。他們的用法和原始命令是一樣的。例如nali-dig,用法就和dig一樣。(nali-dig等同于dig |nali)

大家可能注意到了nali這個命令,它可以對標準輸出的IP串附加上地理信息。nali-*系列工具都是基于這個來實現(xiàn)的。

如果你覺得輸入nali-xxx麻煩,那么可以做一些alias,例如
surfchen@mac:~$ alias traceroute='nali-traceroute'
surfchen@mac:~$ alias dig='nali-dig'

如果你在使用一種沒有被包含在nali包里的網(wǎng)絡(luò)工具,那么可以這樣:
surfchen@mac:~$ my_network_tool|nali
Server 115.168.51.180[中國 電信CDMA]
也就是說,nali這個命令,可以對標準輸出的ip,附加上地理信息。同理,如果你不喜歡用nali-dig,那么也可以用dig ip|nali這樣的命令。

當(dāng)然,你也可以直接用nali查詢IP地址信息:
surfchen@mac:~$ nali 222.217.167.105
222.217.167.105[廣西南寧市 電信]

安裝

./configure
make
[sudo] make install

更新IP數(shù)據(jù)庫

可用nali-update命令來更新IP數(shù)據(jù)庫

開發(fā)

svn co http://qqwry.googlecode.com/svn/trunk/nali/ nali
注意,svn里并不包含QQWry.Dat,如需要從svn版本編譯,那么請自行下載QQWry.Dat,然后放入項目的share目錄。
Bug提交:http://code.google.com/p/qqwry/issues/list
例子

例子

下面有3個例子。
chenze@osx:~$ nali-traceroute www.travel-web.com.tw
traceroute to ns806.travel-web.com.tw (219.87.177.148[臺灣省 臺灣大寬頻]), 64 hops max, 40 byte packets
1 192.168.0.1[局域網(wǎng) 對方和您在同一內(nèi)部網(wǎng)] (192.168.0.1[局域網(wǎng) 對方和您在同一內(nèi)部網(wǎng)]) 0.747 ms 0.353 ms 0.278 ms
2 115.168.51.180[中國 電信CDMA] (115.168.51.180[中國 電信CDMA]) 435.595 ms 65.757 ms 48.906 ms
3 115.168.51.161[中國 電信CDMA] (115.168.51.161[中國 電信CDMA]) 70.990 ms 66.751 ms 46.936 ms
4 115.168.51.17[中國 電信CDMA] (115.168.51.17[中國 電信CDMA]) 192.944 ms 72.679 ms 46.958 ms
5 222.217.167.105[廣西南寧市 電信] (222.217.167.105[廣西南寧市 電信]) 66.963 ms 54.412 ms 54.943 ms
6 218.65.137.1[廣西南寧市 電信] (218.65.137.1[廣西南寧市 電信]) 102.969 ms 73.220 ms 47.016 ms
7 202.97.21.165[廣西 電信骨干網(wǎng)] (202.97.21.165[廣西 電信骨干網(wǎng)]) 432.915 ms 161.390 ms 165.018 ms
8 * 202.97.40.225[中國電信 骨干網(wǎng)] (202.97.40.225[中國電信 骨干網(wǎng)]) 185.598 ms 161.236 ms
9 202.97.33.202[上海市 電信骨干網(wǎng)國際出口] (202.97.33.202[上海市 電信骨干網(wǎng)國際出口]) 79.857 ms 66.537 ms

工欲善其事,必先利其器,利器有了,下面說下我們的需求。有一批域名,31個DNS地址,現(xiàn)在要輪循這些域名在31個DNS的解析結(jié)果是不是一樣的,一樣則輸入到另外一個文件;下面是腳本:

復(fù)制代碼 代碼如下:

#!/usr/bin/perl
use strict;

open DNS, “DNS_IP.txt” or die “i can't filnd the file1!\n”;;
open URL, “url_jiangsu.txt” or die “i can't filnd the file!\n”;;
open NUM, “>>numbers.txt”;
open URLS,”>>url_in_jiangsu.txt”;
while( my $url=URL>){
chomp $url;
my $num_1=0;
my $all=0;
$num_1='/usr/bin/dig \@221.131.143.69 $url +tries=1 +time=3 +short|grep -v ‘[a-z].*'|head -1|nali|grep -q ‘江蘇.*移動' echo  1||echo  0′;#注意這里第一和最后一個單引號是其實是tab鍵上面那個
while (my $dns=DNS>){
chomp $dns;
my $num='/usr/bin/dig \@$dns $url +tries=1 +time=3 +short|grep -v ‘[a-z].*'|head -1|nali|grep -q ‘移動' echo  1||echo  0′;#注意這里第一和最后一個單引號是其實是tab鍵上面那個
$all+=$num;
}
if($all == 31 and $num_1==1){
print URLS  $url.”\n”;
}
print NUM $url.” “.$all.”\n”;
seek( DNS, 1, 0 );

}
close DNS;
close URL;
close URLS;
close NUM;


標簽:綏化 秦皇島 周口 合肥 綿陽 百色 淮安 周口

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享》,本文關(guān)鍵詞  Perl,中,使用,dig,和,nali,判斷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章