2010-12-10 312 views

回答

7

這是因爲您可以欺騙自定義數據包,這可能會干擾入站流量。這也是不好的。

+0

+1它的一個很好的答案,我認爲我的答案是一個很好的補充。 – rook 2010-12-10 01:48:06

+0

-1混淆了這個問題。原始套接字(CAP_NET_RAW)與使用低端口(CAP_NET_BIND_SERVICE)不同。它們是相關的,但欺騙任意數據包是一個更大的問題,讓您摧毀本地子網上所有內容的流量。 – 2012-03-01 11:04:06

3

總而言之,原始套接字僅限於根,因爲如果它否則會打破其他適用於網絡的規則。

一個長期存在的規則是,如果沒有root的祝福,你不能綁定在低於1024的端口上。使用原始套接字,您可以模擬任何端口上的服務器。 (自然能夠在這個端口上接收是一個不同的故事,你也必須嗅探網絡,但也許這可以用不同的機器完成)。

0

打開原始套接字允許讀取任何接收到的在給定的接口中,基本上,您可以讀取任何指向任何應用程序的數據包 - 即使該應用程序由另一個用戶擁有。這基本上意味着具有此功能的用戶能夠讀取所有用戶的任何和所有通信。