日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3实现ICMP远控后门(上)

發布時間:2025/7/14 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3实现ICMP远控后门(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?這幾天一直在研究遠控木馬的一些通信協議,比如TCP,UDP,ICMP,DNS,HTTP等等,對于TCP,UDP這兩種就不講解了,因為太常見了。

?

大家可能對采用ICMP,DNS的木馬不是很熟悉,其實這兩種協議在木馬通信上很流行,特點是比較隱蔽,不容易被封鎖。HTTP協議主要是用在以大型網站作為C&C服務器的場景,例如之前就有使用twitter作為?C&C服務器。

?

本次就以ICMP協議進行分析,并使用Python開發出一個ICMP遠控后門,在寫這篇文章的之前,我感覺大家對ICMP協議肯定不會很了解,因此將ICMP后門的實現分成幾篇進行講解,循序漸進。本篇就講解一下ICMP協議的內容,并使用Python實現一個簡單的ping。

?

?

第一節?ICMP協議是什么鬼?

?不知道大家有沒有ping過百度,用來測試自己的網絡是不是暢通,如下圖所示。

?

?

ping命令使用的就是ICMP協議,在ping百度的過程中,咱們使用wireshark抓一下包,這樣比較直觀。如下圖所示,ICMP協議是典型的一問一答模式,本機向百度服務器發送ICMP請求包,如果請求包成功到達目的地,百度服務器則回應ICMP響應包。

?

?

第二節?ICMP協議及報文格式

?

ICMP(Internet Control Message Protocol)是IPv4協議族中的一個子協議,用于IP主機、路由器之間傳遞控制消息。控制消息是在網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。ICMP報文以IP協議為基礎,其報文格式如下:

?

?

如上圖所示,ICMP協議在實際傳輸中數據包:20字節IP首部 + 8字節ICMP首部+ 1472字節<數據大小>38字節。對于ICMP首部細分為8位類型+8位代碼+16位校驗和+16位標識符+16位序列號,其中類型的取值如下,我們比較關注的是請求(取值為8)和應答(取值為0)。

?

?

第三節?ping實現

?

在上面我們簡單講解了ICMP的報文格式,接下來我們使用Python3根據報文格式簡單實現一下ping功能,主要用到了raw socket技術,即原始套接字,使用struct pack方法打包ICMP報文。代碼實現如下所示:

?

原始套接字的初始化,使用如下代碼:

????socket.socket(socket.AF_INET,socket.SOCK_RAW, socket.getprotobyname('icmp'))

里面比較復雜的是計算校驗和,計算方法如下:

  • ICMP首部和數據整個內容看成16比特整數序列(按網絡字節順序),

  • 對每個整數分別計算其二進制反碼,然后相加

  • 再對結果計算一次二進制反碼而求得

  • ?

    測試ping效果?

    ?

    注意使用管理員權限運行Python腳本,直接ping 百度的地址?220.181.112.244

    同時打開wireshark抓包。

    ?

    ?

    最后?完整代碼

    ping的完整代碼,請關注公眾號,查看 原文。記得推薦喲。

    ?

    轉載于:https://www.cnblogs.com/qiyeboy/p/9017921.html

    總結

    以上是生活随笔為你收集整理的Python3实现ICMP远控后门(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。