資源簡介
這是一個python通過icmp協議實現的一個ping工具,內附有環節配置安裝說明,以及詳細的代碼解釋,并用PyQt5實現了簡單的圖形化處理,寫有幫助信息,幫助更快的進行理解與使用。

代碼片段和文件信息
#!/usr/bin/python3.6.4
#-*-coding:utf-8-*-
__author__?=?‘Rosefinch‘
__date__?=?‘2018/5/31?10:32‘
def?chesksum(data):
“““
校驗
“““
n?=?len(data)
m?=?n?%?2?#判斷data長度是否是偶數字節
sum?=?0?#記錄(十進制)相加的結果
for?i?in?range(0?n?-?m?2):?#將每兩個字節(16位)相加(二進制求和)直到最后得出結果
sum?+=?ord(data[i])?+?(ord(data[i+1])?<8)#傳入data以每兩個字節(十六進制)通過ord轉十進制,第一字節在低位,第二個字節在高位
if?m:?#傳入的data長度是奇數,將執行,且把這個字節(8位)加到前面的結果
sum?+=?ord(data[-1])
#將高于16位與低16位相加
sum?=?(sum?>>?16)?+?(sum?&?0xffff)
sum?+=?(sum?>>?16)?#如果還有高于16位,將繼續與低16位相加
answer?=?~sum?&?0xffff#對sum取反(返回的是十進制)
#主機字節序轉網絡字節序列(參考小端序轉大端序)
answer?=?answer?>>?8?|?(answer?<8?&?0xff00)
return?answer?#最終返回的結果就是wireshark里面看到的checksum校驗和
if?__name__?==?“__main__“:
#?data?=?“\x08\x00\x00\x01\x00\x01\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x61\x62\x63\x64\x65\x66\x67\x68\x69“
data_type?=?‘\x08‘?#?ICMP?Echo?Request
data_code?=?‘\x00‘?#?must?be?zero
data_checksum?=?‘\x00\x00‘?#?“...with?value?0?substituted?for?this?field...“
data_ID?=?‘\x00\x01‘?#Identifier
data_Sequece?=?‘\x00\x01‘?#Sequence?number
payload_body?=?‘abcdefghijklmnopqrstuvwabcdefghi‘?#data
icmp_message?=?data_type?+?data_code?+?data_checksum?+?data_ID?+?data_Sequece?+?payload_body
int_?=?chesksum(icmp_message)
print(‘{:d}?--->??{:x}‘.format(int_int_))
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-19?20:35??ping\
?????目錄???????????0??2018-12-23?19:19??ping\ping工具\
?????文件????????4569??2018-12-19?16:33??ping\ping工具2.ui
?????文件????????1740??2018-12-16?21:04??ping\ping工具\01檢驗和.py
?????文件????????5631??2018-12-19?14:41??ping\ping工具\ping.py
?????文件????????5688??2018-12-23?19:18??ping\ping工具\ping后臺處理.py
?????文件???????13994??2018-12-23?19:18??ping\ping工具\ping后臺處理備.py
?????目錄???????????0??2018-12-23?19:19??ping\ping工具\__pycache__\
?????文件????????4150??2018-12-23?19:19??ping\ping工具\__pycache__\ping后臺處理.cpython-36.pyc
?????文件?????????399??2018-12-23?19:18??ping\ping工具\主函數.py
?????文件?????????573??2018-12-23?19:25??ping\ping資料.txt
?????文件?????????300??2018-12-23?19:20??ping\使用必讀.txt
?????文件????????1462??2018-12-19?20:33??ping\課程設計環節配置.txt
- 上一篇:Python簡版聊天室代碼
- 下一篇:python日期時間運算
評論
共有 條評論