作者fasthall (Xen)
看板LinuxDev
标题[问题] raw socket建立
时间Mon Dec 26 00:41:09 2011
最近正在学习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
1F:推 alongalone:这个范例不是全抓吗? 你的OS 跟 socket library是? 12/26 10:41
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)
2F:→ alongalone:如果是我的做法的话,我会让测试环境单纯. 12/27 23:48
3F:→ alongalone:一个switch只接两台PC.一台丢tcp/udp/icmp.去看统计 12/27 23:49
4F:推 anndy:IPPROTO_TCP只能收tcp, 他的文底下有note 03/03 23:48