[問題] raw socket建立

看板LinuxDev作者 (Xen)時間14年前 (2011/12/26 00:41), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
最近正在學習raw socket的使用方法 參考了這個範例下去跑http://tinyurl.com/7rcbhff 發現只能抓到tcp的封包 看原始碼line 35的socket建立方法第三個參數 指定了IPPROTO_TCP應該是指這個socket只能聽到tcp? 但是在line 62看他抓到的的確是ip層的封包 轉成ip header也確實可以讀出東西 ================================================ 所以說如果我要抓tcp udp icmp的東西我要開三個socket嗎 但是範例的程式中為什麼只開一個 卻期望能統計各種封包type的個數? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.183.248

12/26 10:41, , 1F
這個範例不是全抓嗎? 你的OS 跟 socket library是?
12/26 10:41, 1F
OS是Mint12(Ubuntu based) Library一樣是Linux raw socket 所以這行socket(AF_INET , SOCK_RAW , IPPROTO_TCP);可以全抓嗎 我跑的統計結果只有TCP和total會增加......是OS問題? ※ 編輯: fasthall 來自: 114.25.183.248 (12/26 13:23)

12/27 23:48, , 2F
如果是我的做法的話,我會讓測試環境單純.
12/27 23:48, 2F

12/27 23:49, , 3F
一個switch只接兩台PC.一台丟tcp/udp/icmp.去看統計
12/27 23:49, 3F

03/03 23:48, , 4F
IPPROTO_TCP只能收tcp, 他的文底下有note
03/03 23:48, 4F
文章代碼(AID): #1Ezr8dcv (LinuxDev)