最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)DHCP請(qǐng)求方式

 更新時(shí)間:2024年06月27日 10:04:47   作者:憤怒的玉米棒  
這篇文章主要介紹了Python實(shí)現(xiàn)DHCP請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

DHCP四個(gè)工作步驟

1、客戶端通過廣播發(fā)送DHCP Disccover報(bào)文尋找服務(wù)器端

2、服務(wù)器通過單播發(fā)送DHCP offer報(bào)文向客戶提供IP地址等信息

3、客戶端通過廣播發(fā)送DHCP Request報(bào)文告知服務(wù)端本地選擇使用哪個(gè)IP

4、服務(wù)器通過單播發(fā)送DHCP Ack報(bào)文告知客戶端IP地址是合法可用的

使用python Scapy庫模擬DHCP包

DHCP Discover包

rom scapy.all import *
import random
 
 
def Dhcp_offer():
    mac=str(RandMAC()) //隨機(jī)一個(gè)MAC
    Ether_Discover=Ether(src=mac,dst="ff:ff:ff:ff:ff:ff") //創(chuàng)建Ether廣播包 目標(biāo)地址全f
 
    IP_Discover=IP(src="0.0.0.0",dst="255.255.255.255")   //創(chuàng)建IP廣播包 目標(biāo)全255
   
     
    UDP_Discover=UDP(dport=67,sport=68)   //DHCP使用UDP傳輸 服務(wù)端端口67 客戶端68                
 
    print("隨機(jī)mac地址為%s" %(mac)) 
 
    a=mac.replace(":","")    
 
    xid_random=random.randint(1,999999999)   //DHCP包中XID(請(qǐng)求ID)
    BOOTP_Discover=BOOTP(xid=xid_random,chaddr=a)  //chaddr=客戶端mac
 
    DHCP_Discover=DHCP(options=[("message-type","discover"),"end"]) 
    //模擬DHCP包
 
    Discover=Ether_Discover/IP_Discover/UDP_Discover/BOOTP_Discover/DHCP_Discover 
 
    sendp(Discover,iface='以太網(wǎng)',count=1) //發(fā)送 iface為發(fā)送網(wǎng)卡 count為數(shù)量

DHCP Request包

def Dhcp_Request():
 
    def J(pkt):
        if DHCP in pkt:
            if pkt[DHCP].options[0][1]==2:  //option為2 說明服務(wù)端回復(fù)
                Ether_Request = Ether(src=pkt[Ether].dst, dst="ff:ff:ff:ff:ff:ff")
                IP_Request = IP(src="0.0.0.0", dst="255.255.255.255")
                UDP_REQUEST = UDP(sport=68, dport=67)
                BOOTP_Request = BOOTP(chaddr=pkt[BOOTP].chaddr, xid=pkt[BOOTP].xid)
                DHCP_Request = DHCP(options=[("message-type", 'request'), ("server_id", pkt[DHCP].options[1][1]),
                                             ("requested_addr", pkt[BOOTP].yiaddr), "end"])
                Request = Ether_Request / IP_Request / UDP_REQUEST / BOOTP_Request / DHCP_Request
                sendp(Request, iface='以太網(wǎng)',count=1)
                print("正在分配ip%s" %(pkt[BOOTP].yiaddr))
            if pkt[DHCP].options[0][1]==5:
                print("已經(jīng)分配ip%s" %(pkt[BOOTP].yiaddr))
    
    sniff(filter='src port 67', iface='以太網(wǎng)', prn=J,count=5)  //監(jiān)聽收到的offer包 prn為處理包的函數(shù)
 

運(yùn)行效果

此代碼只是模擬了客戶端,也可用通過Scapy模擬服務(wù)端

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django實(shí)現(xiàn)靜態(tài)文件緩存到云服務(wù)的操作方法

    Django實(shí)現(xiàn)靜態(tài)文件緩存到云服務(wù)的操作方法

    這篇文章主要介紹了Django實(shí)現(xiàn)靜態(tài)文件緩存到云服務(wù)的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 使用Python刪除PDF中多余或空白頁面的實(shí)現(xiàn)步驟

    使用Python刪除PDF中多余或空白頁面的實(shí)現(xiàn)步驟

    在處理 PDF 文件時(shí),常常會(huì)遇到一些多余或空白的頁面,這些頁面不僅占據(jù)存儲(chǔ)空間,還會(huì)影響文檔的整潔性和可讀性,這篇文章將探討如何使用 Python刪除PDF中多余或空白的頁面,需要的朋友可以參考下
    2025-05-05
  • Pandas Describe函數(shù)的具體使用

    Pandas Describe函數(shù)的具體使用

    在Pandas中,describe()能夠?yàn)閿?shù)據(jù)框中的數(shù)值列提供統(tǒng)計(jì)摘要信息,本文主要介紹了Pandas Describe函數(shù)的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    這篇文章主要介紹了Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 如何使用python的plot繪制loss、acc曲線并存儲(chǔ)成圖片

    如何使用python的plot繪制loss、acc曲線并存儲(chǔ)成圖片

    在數(shù)據(jù)可視化中曲線圖是一種常見的展示數(shù)據(jù)趨勢(shì)的方式,Python作為一種強(qiáng)大的編程語言,提供了豐富的數(shù)據(jù)處理和可視化庫,使得繪制曲線圖變得非常簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于如何使用python的plot繪制loss、acc曲線并存儲(chǔ)成圖片的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Python尋找路徑和查找文件路徑的示例

    Python尋找路徑和查找文件路徑的示例

    今天小編就為大家分享一篇Python尋找路徑和查找文件路徑的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python定向爬取淘寶商品價(jià)格

    python定向爬取淘寶商品價(jià)格

    這篇文章主要為大家詳細(xì)介紹了python定向爬取淘寶商品價(jià)格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 如何在pycharm中配置pyqt5設(shè)計(jì)GUI操作教程

    如何在pycharm中配置pyqt5設(shè)計(jì)GUI操作教程

    這篇文章主要介紹了如何在pycharm中配置pyqt5設(shè)計(jì)GUI的操作教程,有需要的朋友可以借鑒參考下,希望大家可以多多交流,討論相關(guān)問題共同提升
    2021-08-08
  • postman傳遞當(dāng)前時(shí)間戳實(shí)例詳解

    postman傳遞當(dāng)前時(shí)間戳實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于postman傳遞當(dāng)前時(shí)間戳知識(shí)點(diǎn)相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼

    Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼

    這篇文章主要介紹了Python連接數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢的操作代碼,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06

最新評(píng)論

兴和县| 门源| 宁晋县| 昌江| 亚东县| 霍城县| 开平市| 揭西县| 屏边| 堆龙德庆县| 甘洛县| 崇州市| 宿松县| 永年县| 盐源县| 张掖市| 屯留县| 郎溪县| 得荣县| 宜君县| 兴仁县| 天等县| 略阳县| 南宫市| 和顺县| 呼图壁县| 宝鸡市| 九龙坡区| 阳朔县| 龙口市| 阿尔山市| 安化县| 疏附县| 临汾市| 嘉祥县| 龙井市| 荃湾区| 卢湾区| 隆化县| 都江堰市| 远安县|