2014-04-05 67 views
0

我試圖在OS上的Python上創建原始套接字:窗口。 它不起作用,我看到它可能是由於premissions。 任何人都知道如何檢查我是否有權限或如何獲得這些權限? 謝謝!在窗口上的Python發送原始套接字錯誤

這是錯誤消息編寫3行後:

import socket 
import sys 
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW) 

enter image description here

回答

2

你需要管理員組的成員。

TCP/IP Raw Sockets在MSDN:

原始套接字提供的能力來操縱底層的傳輸,所以它們可以被用來爲存在安全威脅的惡意目的。因此,只有管理員組的成員才能在Windows 2000和更高版本上創建類型爲SOCK_RAW的套接字。

注意要使用SOCK_RAW類型的插座需要管理員權限。運行使用原始套接字的Winsock應用程序的用戶必須是本地計算機上的管理員組的成員,否則原始套接字調用將失敗,錯誤代碼爲WSAEACCES。在Windows Vista和更高版本上,創建套接字時會強制訪問原始套接字。在Windows的早期版本中,在其他套接字操作期間強制訪問原始套接字。

+0

那麼我該如何獲得這些緩解? – user3371183

+0

您需要擁有管理員權限才能進入管理員組。 – Leigh

+0

@ user3371183:您需要將您的帳戶添加到管理員組。與您的系統管理員聯繫。如果你自己這樣做,谷歌「添加帳戶到管理員組」。 – NPE