Python3實現ICMP遠控後門 上 補充篇

2022-07-03 16:39:13 字數 1462 閱讀 3847

icmp後門(上)補充篇

對於校驗和的計算,我對寫校驗和的**進行了如下注釋,注意看注釋就會明白校驗的整個流程。

def checksum(packet):

"""校驗

"""#packet為icmp頭部和data的位元組流,其中icmp校驗和字段初始化為0

sum =0

#countto:記錄packet是有多少個16位,因為對每兩個位元組進行校驗

countto = (len(packet)//2)*2

count =0

while count > 16) + (sum & 0xffff)

sum = sum + (sum >> 16)

#對sum取反

answer = ~sum

#到這應該就結束了,但是位元組序有問題,下面是將主機位元組序轉為網路位元組序

#即高位轉低位,低位轉高位

answer = answer & 0xffff

answer = answer >> 8 | (answer << 8 & 0xff00)

return answer

icmp回送訊息(type = 8),被請求主機回送響應訊息(type = 0),基本格式如下:

回送訊息[echo]

回送響應訊息[echo reply]

在上篇中,我們講解了如何傳送icmp請求,接下來我們實現如何接受響應,並計算響應時間,效果類似下圖:

接收ping響應的**如下:

ping的超時機制是通過select模型實現的。對於identifier設定為程序號,如下圖所示。

注意使用管理員許可權執行python指令碼,直接ping www.baidu.com

Python3實現ICMP遠控後門 上 補充篇

icmp後門 上 補充篇 對於校驗和的計算,我對寫校驗和的 進行了如下注釋,注意看注釋就會明白校驗的整個流程。def checksum packet 校驗 packet為icmp頭部和data的位元組流,其中icmp校驗和字段初始化為0 sum 0 countto 記錄packet是有多少個16位,...

python3實現CryptoJS AES加密演算法

from crypto.cipher import aes from binascii import b2a hex,a2b hex import base64 class aescrypt def init self,key self.key key.encode utf8 self.mode a...

Python簡易遠控(單執行緒版)

1.技術 管道通訊,流檔案處理,socket基礎 2.tips 預設ip 127.0.0.1 預設埠 7676 3.樣例 服務端 usr bin env python encoding utf 8 import socket import sys from os import reload sys ...