ping (packet internet grope),網際網路包探索器,用來檢視網路上另乙個主機系統的網路連線是否正常的乙個工具。
ping命令向網路上的另乙個主機系統傳送icmp報文,如果指定系統得到了報文,它將把報文一模一樣地傳回給傳送者。ping命令執行後顯示出被測試系統主機名和相應ip位址、返回給當前主機的icmp報文順序號、ttl生存時間和往返時間rtt(單位是毫秒,即千分之一秒)。
發ping命令到對方的第幾個包。 icmp_seq=後面的數就是第多少條了
ttl全程time to live,意思就是生存週期。 首先要說明ping命令是使用的網路層協議icmp,所以ttl指的是乙個網路層的網路資料報(package)的生存週期。包在每經過乙個節點,將這個值減1,在這個值為0的時候,網路裝置將不會再傳遞這個包而是直接將他拋棄,並傳送乙個通知給包的源位址,說這個包已死,防止它會一直迴圈/**下去。 每個作業系統對ttl值得定義都不同,可以修改,不過一般來說,很少有人會去修改自己機器的這個值的,這就給了我們機會可以通過ping的回顯ttl來大體判斷一台機器是什麼作業系統。
單獨輸入ping,直接回車,可以看到幫助。
-t 不間斷傳送請求資料報,直到按ctrl+c終止,ctrl+break統計一下,但不終止
-n (或-c) 決定傳送回應請求的次數。預設值是4。
-l size 決定傳送請求資料報的大小。預設是32位元組。
icmp(internet control message,網際控制報文協議)是為閘道器和目標主機而提供的一種差錯控制機制,使它們在遇到差錯時能把錯誤報告給報文源發方。icmp協議是ip層的乙個協議(因此,ping命令工作在osi參考模型的第三層-網路層),但是由於差錯報告在傳送給報文源發方時可能也要經過若干子網,因此牽涉到路由選擇等問題,所以icmp報文需通過ip協議來傳送。icmp資料報的資料傳送前需要兩級封裝:首先新增icmp報頭形成icmp報文,再新增ip報頭形成ip資料報。由於ip層協議是一種點對點的協議,而非端對端的協議,它提供無連線的資料報服務,沒有埠的概念。
icmp 包傳送是不可靠的,所以主機不能依靠接收 icmp 包解決任何網路問題。
icmp不象tcp或udp有埠,但它確實含有兩個域:型別(type)和**(code)。而且這些域的作用和埠也完全不同。
ping用到的是icmp協議。不是埠。ping無法檢查系統埠是否開放。
使用 ping 檢查連通性有六個步驟:
1. 使用 ipconfig /all 觀察本地網路設定是否正確;
2. ping 127.0.0.1,127.0.0.1 回送位址 ping 回送位址是為了檢查本地的 tcp/ip 協議有沒有設定好;
3. ping 本機 ip 位址,這樣是為了檢查本機的 ip 位址是否設定有誤;
4. ping 本網閘道器(路由器)或本網 ip 位址,這樣的是為了檢查硬體裝置是否有問題,也可以檢查本機與本地網路連線是否正常;(在非區域網中這一步驟可以忽略)
5.ping 本地 dns 位址,dns的目的是看你能不能解析出遠端**的ip位址,以訪問該**,這樣做是為了檢查dns伺服器是否正常,能否連線。
6.ping 遠端 ip 位址,這主要是檢查本網或本機與外部的連線是否正常。
首先查本地arp cache資訊,看是否有對方的mac位址和ip位址對映條目記錄。
1.1 如果有。。
1.2 如果沒有,則發起乙個arp請求廣播包,交換機會收到這個報文後,交換機有學習mac位址的功能,所以他會檢索自己有沒有儲存主機b的mac,如果有,就返回給主機a,如果沒有,就會向所有埠傳送arp廣播,其它主機收到後,發現不是在找自己,就紛紛丟棄了該報文,不去理會。。直到主機b收到了報文後,就立即相應,我的mac位址是多少,同時學到主機a的mac位址,並按同樣的arp報文格式返回給主機a。(交換機、主機a、主機b均會快取對方的mac位址)
獲得某個ip對應的具體mac位址,有了實體地址之後才可以開始通訊了,將mac封裝到icmp協議的二層報文中向主機b傳送(icmp echo request包);
當主機b收到了這個報文後,發現是主機a 的icpm回顯請求,就按同樣的格式,返回乙個值給主機a,主機a收到icmp echo reply包。
ping過程原理詳解(圖)
三層交換機ping原理(整理日記)
ping實現原理
ping 工作原理
telnet(teletype network)是位於osi模型的第7層—應用層上的一種協議,是乙個通過建立虛擬終端提供連線到遠端主機終端**的tcp/ip協議,會建立乙個tcp連線。這一協議需要通過使用者名稱和口令進行認證,是internet遠端登陸服務的標準協議。應用telnet協議能夠把本地使用者所使用的計算機變成遠端主機系統的乙個終端。它提供了三種基本服務:
1)telnet定義乙個網路虛擬終端為遠端系統提供乙個標準介面。客戶機程式不必詳細了解遠端系統,他們只需構造使用標準介面的程式;
2)telnet包括乙個允許客戶機和伺服器協商選項的機制,而且它還提供一組標準選項;
3)telnet對稱處理連線的兩端,即telnet不強迫客戶機從鍵盤輸入,也不強迫客戶機在螢幕上顯示輸出。
telnet可以檢查某個埠是否開放:telnet ip:port(80、11211、6379),win7等預設telnet服務是關閉的,需手動配置開啟。
安全外殼協議(secure shell )是建立在應用層和傳輸層基礎上的安全協議,可以用來替代telnet、ftp以及r命令,主要是用於解決口令在網上明文傳輸的問題,ssh的預設埠是22。用 telnet 和 ftp 登入伺服器時,密碼以明文的形式傳送給伺服器,懷有惡意的人可以通過監聽網路上傳輸的資料報,得到使用者的登入資訊。通過使用ssh,使用者可以把所有傳輸的資料進行加密,而且還能夠防止dns和 ip欺騙,還有乙個額外的好處就是傳輸的資料是經過壓縮的,所以可以加快傳輸的速度。
從客戶端來看,ssh提供兩種級別的安全驗證。
第一種級別(基於口令的安全驗證)
第二種級別(基於密匙的安全驗證),不需要在網路上傳送口令
ssh特徵是:
(1)ssh可以為瀏覽器和伺服器的聯絡提供透明的保護。
(2)所有的連線都可以自動地加密,並且不會受到損害。
(3)ssh加密整個傳輸過程。因此,能夠防止任何在客戶端和伺服器之間的第三者看到傳輸內容。
(4)ssh 安裝容易、使用簡單,而且比較常見,一般的 unix 系統、linux 系統、freebsd 系統都附帶有支援ssh的應用程式包。
具體參考:
ssh原理與運用(一):遠端登入
ssh原理與運用(二):遠端操作與埠**
netstat 命令用於顯示各種網路相關資訊,如網路連線,路由表,介面狀態 (inte***ce statistics),masquerade 連線,多播成員 (multicast memberships) 等等。常用引數如下:
-a (all)顯示所有選項(預設不顯示listen相關)
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-l 僅列出有在 listen (監聽) 的服務狀態
-p 顯示建立相關鏈結的程式名
-r 顯示路由資訊,路由表
-e 顯示擴充套件資訊,例如uid等
-s 按各個協議進行統計
-c 每隔乙個固定時間,執行該netstat命令。
netstat -lnp | grep 埠號 檢查某個埠是否開放-listen -at 所有tcp連線參考:-ant 所有tcp連線,均轉化成數字、ip
-lt 監聽的tcp埠
linux netstat命令詳解
nc -z -v -n 127.0.0.1 80 預設tcp模式,80埠是否開放 z zero i/o mode,v verbose該命令功能強大,具體參見:
linux netcat 命令——網路工具中的瑞士軍刀
參考:
幾個簡單的網路命令(ping、tennet、ssh、netstat)
常用網路相關命令
t 持續ping目標主機直到接收到停止訊號 a 將目標ip位址解析成主機名 n 對目標主機ping的次數 l ping包的大小 f 設定ip包的df值 all 顯示更加詳細的資訊 renew 更新介面卡dhcp配置 release 更新dhcp租約期 displaydns 顯示dns快取資訊 que...
常用windos網路相關命令
color red netstat ano findstr 80 只檢視含有數字80的相關資訊 color color red centos下netstat ap grep 10000 檢視10000埠相關資訊以及10000對應的pid程序號 program name color color red...
linux常用網路相關命令
簡介 路由器的功能主要是跨網段通訊。靜態路由指的是手工指定的路由,相對於動態路由,靜態路由不需要在路由器之間頻繁地交換各自的路由表,因此,相對於動態路由,靜態路由主要有不占用網路頻寬更新流量,也會更加安全 通過對動態路由表的分析可以得出網路的拓撲結構和網路位址資訊 route n 或 這裡,0.0....