2022-10-05 得到cookie信息的實例聯繫: 在子應用中的“views.py”文件: from django.http import HttpResponse def get_cookie(request): cookies = request.COOKIES username = coo ...
作為開發人員,ping命令無疑是使用比較多的工具,我們經常在需要判斷與伺服器的連接是否連桶時需要使用ping命令來測試。
一般情況下使用ping命令來判斷路由地址是否連通,再配合使用telnet判斷該地址得網路埠是否能夠完成請求。今天才發現一個簡單的ping命令的使用竟然有這麼多的妙用。
關於ping命令的作用這裡就不多講了,大家肯定都是經常用到。我們主要來說明一下ping命令執行以後的返回結果中的值都代表著什麼樣的意思,這往往是大家可能忽略的地方,最後再說明一下除了我們平常使用的ping命令如果給它帶上一些不同的參數命令又會有什麼不一樣的效果。
上面這是一個我們經常使用的ping -t的命令使用它來一直請求伺服器查看網路效果,使用它來查看一下返回值中的各個欄位代表的含義是什麼?
bytes 值:數據包大小,也就是位元組。
time 值:響應時間,這個時間越小,說明你連接這個地址速度越快。
TTL 值:Time To Live, 表示 DNS 記錄在 DNS 伺服器上存在的時間,它是 IP 協議包的一個值,告訴路由器該數據包何時需要被丟棄。可以通過 Ping 返回的 TTL 值大小,粗略地判斷目標系統類型是 Windows 系列還是 UNIX/Linux 系列。
通過一些返回的簡單的結果判斷就能判定一些基本的網路及伺服器的情況,這也是ping命令的基本應用,接下來看看ping命令還有哪些其他重要的參數能夠幫助我們查看一些重要的信息。
直接使用萬能的--help命令來顯示一下ping命令到底有哪些可以使用的參數來輔助我們,然後我們挑一些比較的常用的來進行說明並測試。
ping -t
-t參數的使用在前面的實例中已經使用到了,就是可以一直的向伺服器發送請求,直到伺服器被強制斷開才行。一般使用ping -t參數一直訪問伺服器可以測試很長一段時間內的網路情況。
ping -n
ping命令在預設的情況下是發送四個數據包,上面如果使用ping -t命令的話可以一直發送數據包,但是想要發送一定數量的數據包並查看反悔了多少數據包。這個時候可以使用-n參數,自定義要發送多少個數據包然後查看返回的結果數量。
從結果來看,我們發送了10個數據包並且返回了10個數據包,在一定程度上也能說明網路情況。
ping -a
-a 解析電腦名與 NetBios 名,就是可以通過 ping 它的 ip 地址,可以解析出主機名。這樣相當於通過具體的IP地址反向解析出了功能變數名稱,一般在內網的多個虛擬伺服器上使用起來比較方便。
一般在配置了網路訪問的主機名稱之後,通過-a參數才能解析出來。
ping -l
可以通過-l參數指定需要向伺服器發送的數據包的大小來測試發送比較大的數據包時伺服器的響應情況,因為預設情況下發送的數據包的大小隻有32個位元組在需要特殊驗證的情況下不能說明問題。
在使用-l參數時,我們將發送的數據包的大小調整到了1000個位元組可以明顯的看出比發送預設的32個位元組時響應速度慢了將近2-3ms。發送最大的數據包可以達到65500位元組,當發送最大位元組的數據包時直接會time out超時,說明我家裡的網路還是有待提高。
ping -r
-r參數也是特別有意思,它可以完成對發送請求過程中的路由地址的跟蹤從而達到一定的監聽效果簡單的排查網路在哪一個層面上出了問題,一般最多只能跟蹤到9個路由地址,我們使用-n指定發送一個數據包並且跟蹤了一下網關。
歡迎關註作者公眾號【Python 集中營】,專註於後端編程,每天更新技術乾貨,不定時分享各類資料!