天天看點

python ping子產品用法_Python pythonping包_程式子產品 - PyPI - Python中文網

pythonping

python ping是python中ping的簡單方法。使用它,您可以像從終端發送icmp探測一樣将icmp探測發送到遠端裝置。pythonping是子產品化的,是以您可以将它作為一個獨立的函數在腳本中運作,或者将其元件內建到一個成熟的應用程式中。

基本用法

pythonping最簡單的用法是在腳本中。可以使用ping函數ping目标。如果希望立即看到輸出,模拟終端上發生的情況,請使用下面的verbose标志。frompythonpingimportpingping('127.0.0.1',verbose=True)

這将導緻以下結果。Reply from 127.0.0.1, 9 bytes in 0.17ms

Reply from 127.0.0.1, 9 bytes in 0.14ms

Reply from 127.0.0.1, 9 bytes in 0.12ms

Reply from 127.0.0.1, 9 bytes in 0.12ms

不管詳細模式如何,ping函數都将傳回一個ResponseList對象。這是一個特殊的iterable對象,包含Response項的清單。在每個響應中,您都可以找到接收到的資料包和一些元資訊,比如接收響應所花的時間和任何錯誤消息。

您還可以使用ping的一些附加參數來調整ping:size是一個整數,允許您指定所需icmp負載的大小

timeout是在假定目标無法到達之前,您希望等待響應的秒數

payload允許您使用特定的負載(位元組)

count指定允許您定義要發送的ICMP資料包的數量

sweep_start和sweep_end允許您執行ping掃描,從sweep_start中定義的負載大小開始,一直到sweep_end中定義的大小。在這裡,我們重複您提供的負載以比對所需的大小,或者如果沒有提供負載,我們生成一個随機負載。注意,如果定義了size,這兩個字段将被忽略

df是一個标志,如果設定為true,将啟用IP頭中的不分段标志

verbose啟用詳細模式,将輸出列印到流(請參見out)

out是詳細模式的目标流。如果啟用詳細模式,但不提供out,詳細輸出将發送到sys.stdout流。例如,您可能想在這裡使用一個檔案。

進階用法

如果希望擴充python ping或将其內建到應用程式中,我們建議使用python ping的一部分類,而不是ping函數。

executor.Communicator處理與目标裝置的通信,它負責發送icmp請求和處理響應。它最終生成executor.ResponseList對象。Communicator需要知道目标和要發送到遠端裝置的有效負載。為此,我們在payload_provider子產品中有幾個類。您可能希望通過擴充payload_provider.PayloadProvider建立自己的提供者。如果您對此感興趣,應該檢查executor和payload_provider子產品的文檔。

歡迎加入QQ群-->: 979659372

python ping子產品用法_Python pythonping包_程式子產品 - PyPI - Python中文網

推薦PyPI第三方庫