所以有這個需求:
推薦幾個我常用的:
有curl就可以
? ~ curl cip.cc
IP: 1.86.122.165
地址: 中國 陜西 咸陽
運營商: 電信
數據二: 陜西省西安市 | 電信
數據三: 中國陜西咸陽 | 電信
URL: http://www.cip.cc/1.86.122.165
或者
curl cip.cc/119.29.29.29
IP: 119.29.29.29
地址: DNSPOD.COM DNSPOD.COM
數據二: 廣東省深圳市 | 煙臺帝思普網絡科技有限公司公共DNS服務器(BGP節點)
數據三:
URL: http://www.cip.cc/119.29.29.29
再一種就是nali也就是哪里的那個意思?
介紹下mac下的安裝
brew install npm
npm install nali-cli -g
/usr/local/bin/nali -> /usr/local/lib/node_modules/nali-cli/lib/nali.js
/usr/local/bin/nali-traceroute -> /usr/local/lib/node_modules/nali-cli/lib/nali-traceroute.js
/usr/local/bin/nali-dig -> /usr/local/lib/node_modules/nali-cli/lib/nali-dig.js
/usr/local/bin/nali-nslookup -> /usr/local/lib/node_modules/nali-cli/lib/nali-nslookup.js
/usr/local/bin/nali-ping -> /usr/local/lib/node_modules/nali-cli/lib/nali-ping.js
/usr/local/bin/nali-tracepath -> /usr/local/lib/node_modules/nali-cli/lib/nali-tracepath.js
+ nali-cli@2.1.3
added 48 packages from 45 contributors in 23.894s
第一次使用會更新數據庫:
路由器本質就是一臺電腦,網卡一,連接廣域網的WAN口,IP地址由上一級網絡分配,另一張網卡LAN,連接局域網。有路由和轉發功能。
家好,我是IT售前工程師Bernie。
我們知道,在網絡通信中主機和主機通信的數據包需要依據 OSI 模型從上到下進行數據封裝,當數據封裝完整后,再向外發出。所以在局域網的通信中,不僅需要源目IP地址的封裝,也需要源目 MAC 的封裝。
如果一臺主機在數據幀封裝前不知道某個目的ip機器的mac地址怎么辦呢? 這時候就需要通過 ARP 協議來獲知目的主機的MAC 地址,完成數據封裝。
ARP 協議的全稱是 Address Resolution Protocol,地址解析協議。說直白一點:ARP協議可以用來根據ip地址尋找mac地址的協議。
舉個簡單的例子,在同一個局域網內有4臺主機通過交換機連接。那么,當pc1想要拿到ip=192.168.1.4對應的mac地址時。它將進行如下的操作
第1步
它會查詢自己的ARP協議表,看看有沒有這個IP綁定的mac地址。我們可以通過cmd下輸入arp -a指令查詢ip與mac地址的對應關系表。如果能查詢到,則拿到這個mac地址進行以太網協議的封裝即可。
如果拿不到,就要通過arp廣播的形式去詢問同一個網段下的所有主機。
第2步
pc1這臺機器開始發送ARP廣播,廣播信息里面封裝了ip地址和mac地址。這里ip地址為pc4的地址192.168.1.4,mac地址由于不知道,所以每一位都是0。
由于發送的是ARP廣播協議,同一個vlan下的主機全都能接收到這條消息。
第3步
每臺主機收到了這條廣播消息后,迅速查詢下自己的ip地址和mac地址。如果發現數據包中ip地址是自己的ip,那么就第一時間更新自己的ARP表,將PC1的ip\mac地址做更新。然后,將自己的mac地址利用單播的形式返回給pc1。
第4步
pc1收到響應回來的mac地址,立即更新到自己的ARP表中。同時,將IP數據包用這個mac地址為目的mac地址封裝成幀與pc4通信。
換一個思路,如果pc1和pc4不在同一個網段,如何才能拿到pc4的mac地址呢?
比如下圖,pc1和pc2\pc3在同一個網段,但是和pc4\pc5不在同一個網段。
很明顯,pc1和pc4是不能直接使用ARP協議的,那么這就要使用ARP代理路由了。代理路由可以將pc1的廣播轉送給pc4/pc5,然后在響應時pc4也要借助于ARP代理路由將mac地址傳給pc1。
為了讓大家更好的理解 ARP 協議以及廣播和單播的概念,我們來看一下用 抓包工具抓到到的真實網絡中的 ARP 過程,通過數據包的方式來呈現,地址信息如下,部分 MAC 信息隱去。
請求包
響應包
解讀
Hardware type :硬件類型,標識鏈路層協議
Protocol type: 協議類型,標識網絡層協議
Hardware size :硬件地址大小,標識MAC地址長度,這里是6個字節(48bti)
Protocol size: 協議地址大小,標識IP地址長度,這里是4個字節(32bit)
Opcode: 操作代碼,標識ARP數據包類型,1表示請求,2表示回應
Sender MAC address :發送者MAC
Sender IP address :發送者IP
Target MAC address :目標MAC,此處全0表示在請求
Target IP address: 目標IP
OSI模型把網絡工作分為七層,IP地址在OSI模型的第三層,MAC地址在第二層。在通過以太網發送IP數據包時,需要先封裝第三層(32位IP地址)、第二層(48位MAC地址)的報頭。ARP 協議在TCP/IP模型中屬于IP層(網絡層),在OSI模型中屬于鏈路層。
我是IT售前工程師Bernie,歡迎關注!下期見~