免费注册 查看新帖 |

Chinaunix

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

[内核入门] tcp/ip的网络层的报文的处理,一定需要内核程序处理吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
[收藏(0)] [报告]
发表于 2017-02-08 12:05 |只看该作者 |正序浏览
据我所知,应用层程序可以用原始套接字啊, 也就是说,tcp/ip的网络层的处理,可以直接用应用程序处理啊, 不需要内核处理啊。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
15 [报告]
发表于 2017-02-28 11:57 |只看该作者
本帖最后由 nswcfd 于 2017-02-28 11:58 编辑

老神仙露面,怎么没有人捧场呢?

回复 14# 独孤九贱



论坛徽章:
0
14 [报告]
发表于 2017-02-26 22:52 |只看该作者
By default, network stack will handle all the input packets, eventually sent the packets to socket ,application layer.
Anyway, you can use raw sock to get the copy of the packets for other targets

论坛徽章:
0
13 [报告]
发表于 2017-02-24 18:49 |只看该作者
回复 13# sditmaner

错啦,可以看看netmap/DPDK……

论坛徽章:
2
综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:00
12 [报告]
发表于 2017-02-23 10:36 |只看该作者
嗯 是的 据我说知 只要是跑在操作系统之上的程序就没有办法直接不过内核直接和硬件通信

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
11 [报告]
发表于 2017-02-22 18:42 |只看该作者
man 7 packet

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
10 [报告]
发表于 2017-02-22 18:41 |只看该作者
windows不了解,linux的pcap使用的AF_PACKET,没有使用AF_INET的raw socket。

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
9 [报告]
发表于 2017-02-16 23:55 |只看该作者
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740548(v=vs.85).aspx
windows 不同版本对rawsock有限制

论坛徽章:
0
8 [报告]
发表于 2017-02-15 15:34 |只看该作者
回复 8# nswcfd

我明白了,是获取到的了一份copy,想修改报文或者对报文分析,需要在内核里处理,谢谢你。

顺便请教个问题: windows版本的wireshark你应该知道吧?
需要安装winpcap, winpcap是工作在内核层里的,

按照你的说法,rawsocket也可以做到,因为wireshark也是抓取进入网卡的报文,又不拦截报文。

那么自然也可以用raw socket实现了。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
7 [报告]
发表于 2017-02-15 11:33 |只看该作者
tcpdump的得到的是原始报文的一份copy,ip raw socket同理。

论坛徽章:
0
6 [报告]
发表于 2017-02-14 16:48 |只看该作者
回复 4# chouxiaoya9100

是可以获取到完整的数据包的。你可以了解下tcpdump
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP