1. 程式人生 > >1.如何ping別人的計算機名來獲取IP?

1.如何ping別人的計算機名來獲取IP?

         獲取別人的IP,是作為駭客或是黑客必要的步驟。那麼,怎麼來獲取IP呢?
       
        今天想試著用arp命令乾點壞事來陶冶一下情操,當我ping電腦名查詢IP時,發現返回的是[fe80::64ca:cb99:2e4d:bd27%13]32位位元組資料。於是我百度了幾小時,終於找到了解決的辦法,下面是整理出來的具體方法:
       
       一般ping命令返回一個公網ip地址,但是這個ip地址和所查機器的當前公網ip不一致,遇到這種情況,首先要確認是不是你的電腦中的DNS快取尚未重新整理導致。使用:命令“ ipconfig /displaydns”可以看到本機DNS快取中的所有記錄。
      
        計算機ping一個域名時,會先去本機的DNS快取中查詢,上面看到的DNS快取中的資訊就影響了ping的結果。這時用命令“ipconfig /flushdns”就可以清除本機DNS快取中的所有記錄。 清除了快取後,再ping域名,就可以排除本機DNS快取的影響,這時返回的ip地址就是正確的。
     
       如果仍然是錯的,這時候很可能是你的寬頻接入商的地區DNS伺服器尚未重新整理資料,也就是它尚未同步DNS資料,那麼當你的所在電腦的ip地址變化了之後,雖然Oray的DNS伺服器已經將要查詢的計算機名指向了當前的新ip地址,但是你那個地區的接入商的DNS伺服器返回給你電腦的所查計算機名的ip地址還是之前的舊ip地址。 這種時候你要做的就是把本機DNS伺服器設定為當地最高效的DNS伺服器,你可以直接撥打你的寬頻接入商的服務電話詢問並把問到的高效DNS地址設定到你的電腦上。例如將電腦的主DNS從202.96.128.86改為 202.96.128.166,然後用命令“ipconfig/flushdns”清除本機DNS快取後,再ping 計算機名。當然,這是很麻煩的。
    
      然而,還有一個非常好用方法,就是使用“ping 計算機名 -4”命令,即查詢IP4的地址。返回的絕對是一個正確ip,本人親測,效果非常棒。


    也可以用IP地址反查主機名,或是用主機名查詢計算機的MAC,這裡就要用到一些arp命令或NBTSTAT命令。下面附其語法格式:           
   一.     NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]
   引數說明:
   -a Remoename—說明使用遠端計算機的名稱列出其名稱表,此引數可以通過遠端計算機的NetBios名來檢視他的當前狀態。
  -A IP address—說明使用遠端計算機的 IP 地址並列出名稱表,這個和-a不同的是就是這個只能使用IP,其實-a就包括了-A的功能了。
  -c—列出遠端計算機的NetBIOS 名稱的快取和每個名稱的 IP 地址這個引數就是用來列出在你的NetBIOS裡快取的你連線過的計算機的IP。
  -n—列出本地機的 NetBIOS 名稱,此引數與上面所介紹的一個工具軟體“netstat”中加“ -a”引數功能類似,只是這個是檢查本地的,
       如果把netstat -a後面的IP換為自己的就和nbtstat -n的效果是一樣的了。
  -r—列出 Windows 網路名稱解析的名稱解析統計。在配置使用 WINS 的 Windows 2000 計算機上,此選項返回要通過廣播或 WINS 來解析和註冊的名稱數。
  -R—清除 NetBIOS 名稱快取中的所有名稱後,重新裝入 Lmhosts 檔案,這個引數就是清除nbtstat -c所能看見的快取裡的IP。
  -S—在客戶端和伺服器會話表中只顯示遠端計算機的IP地址。
  -s—顯示客戶端和伺服器會話,並將遠端計算機 IP 地址轉換成NETBIOS名稱。此引數和-S差不多,只是這個會把對方的NetBIOS名給解析出來。
  -RR—釋放在 WINS 伺服器上註冊的 NetBIOS 名稱,然後重新整理它們的註冊。
  
       interval—每隔interval 秒重新顯示所選的統計,直到按“CTRL+C”鍵停止重新顯示統計。如果省略該引數,nbtstat 將列印一次當前的配置資訊。此引數和netstat的一樣,nbtstat中的“interval”引數是配合-s和-S一起使用的。在區域網內,我們常使用一些工具來查IP查主機名,利用ipconfig或者ping可以查到IP地址。而要查網內的主機,可以用網路上的芳鄰,其實我們也有一個很方便的方法,通過指定IP地址就可以查詢到主機名,在windows的命令列方式下,輸入命令:nbtstat -A 192.168.1.111(對方的IP地址)就會把主機名,此主機所在的群組名也顯示出來nbtstat該命令使用TCP/IP上的etBIOS顯示協議統計和當前TCP/IP連線,使用這個命令你可以得到遠端主機的NETBIOS資訊,比如使用者名稱、所屬的工作組、網絡卡的MAC地址等。在此我們就有必要了解幾個基本的引數。
    -a使用這個引數,只要你知道了遠端主機的機器名稱,就可以得到它的NETBIOS資訊(下同)。
    -A這個引數也可以得到遠端主機的NETBIOS資訊,但需要你知道它的IP。
    -n列出本地機器的NETBIOS資訊。
   當得到了對方的IP或者機器名的時候,就可以使用nbtstat命令來進一步得到對方的資訊了,這又增加了我們入侵的保險係數。 
  
 二.     ARP [-a [inetaddr] [-n ifaceaddr] ,-g [inetaddr] [-n ifaceaddr] ,  -d inetaddr [ifaceaddr] ,-s inetaddr etheraddr [ifaceaddr] ]
  
  -a [inetaddr] [-n ifaceaddr] 
  -a不帶參則顯示所有介面的當前ARP快取表。要顯示指定IP地址的ARP快取項,
請使用帶有inetaddr 引數的“arp -a” 此處的inetaddr 代表指定的IP 地址。要顯示指定介面的ARP快取表,請使用“-n ifaceaddr” 
引數,此處的ifaceaddr 代表分配給指定介面的IP 地址。-N 引數區分大小寫。
  
   -g [inetaddr] [-n ifaceaddr] 與-a 相同。
  
   -d inetaddr [ifaceaddr] 刪除指定的IP 地址項,此處的inetaddr 代表IP 地址。對於指定的介面,要刪除表中的某項,請使用ifaceaddr
引數,此處的ifaceaddr 代表分配給該介面的IP地址。要刪除所有項,請使用星號(*) 萬用字元代替inetaddr。
  
   -s inetaddr etheraddr [ifaceaddr] 向ARP 快取新增可將IP 地址inetaddr 解析成實體地址etheraddr 的靜態項。要向指定介面的表新增
靜態ARP 快取項,請使用ifaceaddr 引數,此處的ifaceaddr 代表分配給該介面的IP地址。eg:arp -s 10.110.11.1 00-1a-a9-bf-26-43
注意:inetaddr 和ifaceaddr 的IP 地址用帶圓點的十進位制記數法表示。實體地址Etheraddr由六個位元組組成,這些位元組用十六進位制記數法表示並且用連字元隔開( 比如,00-AA-00-4F-2A-9C)。只有當TCP/IP 協議在網路連線中安裝為網路介面卡屬性的元件時,該命令才可用。
   
   最後分享下今天利用arp乾的一些事兒(寢室幾個,看到了一定要冷靜,千萬不要罵我。我已經知道錯了。):將自己的MAC 偽造成閘道器的MAC。其他人就上不了網了。
    已知預設閘道器是:10.110.11.1  首先,用"arp -a 10.110.11.1"命令查詢閘道器的MAC地址,然後將自己的MAC改成閘道器的MAC,最後將自己的IP改成閘道器的IP即可。操作完成後,只要自己開著電腦,連著網線。別的PC就上不了網了。