第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

這個(gè)函數(shù)如何知道變量存在?

這個(gè)函數(shù)如何知道變量存在?

PHP
呼啦一陣風(fēng) 2023-11-09 21:19:37
我有一些代碼:from scapy.all import *def sniffFunc(pkt):    print(pkt.show())    quit()myFilter = 'tcp and src host 192.168.1.2 and dst host 52.223.224.41'sniff(filter=myFilter, prn=sniffFunc)它從我的主機(jī)嗅探單個(gè)數(shù)據(jù)包到 twitch 服務(wù)器并顯示該數(shù)據(jù)包的信息。sniffFunc() 如何知道變量“pkt”是什么以及該變量的值?我知道名稱可以是程序員想要的關(guān)于傳遞給函數(shù)的變量的任何名稱,但是,一旦進(jìn)入函數(shù)內(nèi)部,在我看來變量“pkt”將為空,但它包含所需的值。例如,我認(rèn)為人們必須做類似的事情:pkt = sniff(filter=myFilter, prn=sniffFunc(pkt))雖然這行不通,但也許它會(huì)讓我對(duì)我的思維過程有一些了解。
查看完整描述

1 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

函數(shù)本身可以保存到變量中,然后調(diào)用:

f = sniffFunc
f(a_packet)  # Still works

被調(diào)用的函數(shù)對(duì)象sniffFunc會(huì)像任何其他對(duì)象一樣傳遞給該函數(shù)。一旦進(jìn)入sniff實(shí)際上在代碼的深處),它會(huì)獲取您提供的函數(shù)對(duì)象,并通過向其傳遞給定的數(shù)據(jù)包來調(diào)用它:

def on_packet_received(self, pkt):

    """DEV: entry point. Will be called by sniff() for each

    received packet (that passes the filters).

    """

    if not pkt:

        return

    if isinstance(pkt, list):

        for p in pkt:

            DefaultSession.on_packet_received(self, p)

        return

    self.__count += 1

    if self.store:

        self.lst.append(pkt)

    if self.prn:

        result = self.prn(pkt)  # Your function was stored in the variable self.prn <<<<<

        if result is not None:

            print(result)

result是你的函數(shù)返回的任何內(nèi)容。你可以看到它只是打印返回值(如果有的話)。


查看完整回答
反對(duì) 回復(fù) 2023-11-09
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)