2010-09-25 103 views
2

我試圖發送與Python ARP請求,與dpkt的工作,而且我發現,使用一些示例代碼:蟒蛇socket.PF_PACKET

socket.socket(socket.PF_PACKET, socket.SOCK_RAW) 

我明白,你需要使用原始套接字來發送這個,但它說,socket.PF_PACKET不存在。在我看到的python文檔中沒有任何關於它的內容。那麼,這個人從哪裏獲得PF_PACKET呢?它會做什麼?我怎樣才能得到它?

回答

2

編輯我的回答是:

PF_PACKET在Linux版本2.0及以上的介紹。 Python只包裝操作系統的套接字接口。 AaronMcSmooth評論證實它在Linux上可用。它雖然在mac上不可用。

而且它看起來像AF_PACKET可在3.2

+1

這是不對的首選得到。我有2.6。但我在Linux上;)無論如何,它似乎沒有記錄(在Python中)AFAIK。 – aaronasterling 2010-09-25 04:26:56

+0

@AaronMcSmooth:我已經編輯了我的回覆,我想在你的評論的同時。你是對的。 Python只包裝操作系統的套接字接口,並且僅在Linux上可用 – pyfunc 2010-09-25 04:28:56

+0

啊,這是有道理的。我在Mac上,所以這就是爲什麼它不在我想。 – 2010-09-25 04:55:12