免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1292 | 回复: 4
打印 上一主题 下一主题

[内核入门] 关于原始套接字(SOCK_RAW)的讨教 [复制链接]

论坛徽章:
2
技术图书徽章
日期:2014-04-15 16:30:27金牛座
日期:2014-06-06 16:20:49
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-13 15:40 |只看该作者 |倒序浏览
在《UNIX网络编程》书,28章讲的是原始套接字。其中,讲到关于“输入”的时候,有这么一段话:
    大部分ICMP包,在内核处理完其中的ICMP消息之后,传递到原始套接字。源自Berkeley版的实现,把不是 回射、时间戳、地址掩码 请求的ICMP传递原始套接字(这三类ICMP消息完全由内核处理)。
    我的问题是:书上没有讲其他的系统是怎么处理的。其他系统,对ICMP消息,也是和Berkeley一样?还是,对所有的ICMP消息,都会传递给原始套接字?
    问题2:在原始套接字的IPv4首部,OpenBSD和Linux系统都是网络字节序;其他的,ip_len和ip_off是主机字节序。这个有人验证过吗?家里自学,可能没有这么全的环境

论坛徽章:
0
2 [报告]
发表于 2014-04-13 18:42 |只看该作者
不鸟姐         

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
3 [报告]
发表于 2014-04-13 19:00 |只看该作者
1. 记得 linux现在的 ping工具之类的已经不在使用原始套接字了。避免必须使用 root权限!

static struct inet_protosw inetsw_array[] =
{
...
       {
                .type =       SOCK_DGRAM,
                .protocol =   IPPROTO_ICMP,
                .prot =       &ping_prot,
                .ops =        &inet_dgram_ops,
                .no_check =   UDP_CSUM_DEFAULT,
                .flags =      INET_PROTOSW_REUSE,
       },
...
};

2. 这个是啥。。。可以吃吗?

论坛徽章:
2
技术图书徽章
日期:2014-04-15 16:30:27金牛座
日期:2014-06-06 16:20:49
4 [报告]
发表于 2014-04-14 09:20 |只看该作者
asuka2001 发表于 2014-04-13 19:00
1. 记得 linux现在的 ping工具之类的已经不在使用原始套接字了。避免必须使用 root权限!

static struct ...

谢谢你的回复啊。
主要是我最近用到原始套接字编程,用的是ICMP的时间戳这个功能;
如果不用原始套接字,那么我该如何收发ICMP消息?
求教

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
5 [报告]
发表于 2014-04-14 10:44 |只看该作者
回复 4# knull

NO, 仅仅是 ECHO消息才可以。详见:

https://lwn.net/Articles/420800/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP