我在python中實現了一個原始套接字程序,並且遇到了bind()
,我可以將套接字綁定到接口。據我瞭解,這個函數的第一個字段是我想綁定的接口。 什麼是第二領域?這是Ethertype(如IP4)嗎?在Python的參考文檔中的raw socket example的代碼如下所示:python中原始套接字的bind()函數中的第二個字段
# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
爲什麼第二場零?在其他examples我看到這經常設置爲0x0800(或十進制2048),導致我相信這可能會將套接字設置爲IP4協議。我也看到這個設置爲9999.也許我錯過了/誤解這裏的東西。
+1。值得一提的是,這與原始套接字無關;對於流或數據報(TCP或UDP,對於INET系列)也是如此。 – abarnert
+1這清除了我的東西。謝謝! – chembrad
@chembrad很樂意幫助:) –