本文介绍使用PF_PACKET和SOCK_RAW发送自己定义type以太网数据包,使用wireshare抓包能够获取到数据包,为Linux内核添加网络协议做铺垫。先上码:#include #include #include // close()#include // strc...
分类:
其他好文 时间:
2015-12-21 18:10:40
阅读次数:
235
大致流程: 建立一个client端,一个server端,自己构建IP头和UDP头,写入数据(hello,world!)后通过原始套接字(SOCK_RAW)将包发出去。server端收到数据后,打印UDP数据并发送确认消息(yes),client收到yes后将其打印。其中:client端IP:192....
分类:
其他好文 时间:
2015-11-19 22:26:47
阅读次数:
378
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字(SOCK_STREAM)。基于UDP采 用的数据报套接字(SOCK_DGRAM).1.TCP流式套接字的编...
分类:
其他好文 时间:
2015-10-24 14:24:08
阅读次数:
200
本文转载:http://www.cnblogs.com/duzouzhe/archive/2009/06/19/1506699.html,在此感谢原始套接字(SOCK_RAW). 应用原始套接字,我们可以编写出由TCP和UDP套接字不能够实现的功能.注意原始套接字只能够由有 root权限的人创建.1...
分类:
其他好文 时间:
2015-09-12 23:35:46
阅读次数:
264
转载:http://yehubilee.blog.51cto.com/1373999/1069075注释:原始套接字各方面基本都涉及到了,可以参考。可以接收链路层MAC帧的原始套接字 前面我们介绍过了通过原始套接字socket(AF_INET, SOCK_RAW, protocol)我们可以直接.....
分类:
其他好文 时间:
2015-09-01 16:48:57
阅读次数:
178
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接...
分类:
编程语言 时间:
2015-08-20 12:06:32
阅读次数:
120
bluetooth socket tcp/ip l2cap...
分类:
其他好文 时间:
2015-01-12 21:03:52
阅读次数:
933
基于字节流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)不可以访问传输层协议,只是对应用层的报文进行操作,传输层的数据报格式都是由系统提供的协议栈实现,用户只需要填充相应的应用层报文,由系统完成底层报文首部的填充并发送。原始套接字(SOCK_RAW)可以访问位于基层的传输层协议,原始套接字没有端口号。
原始套接字(SOCK_RAW)是一种不同于 SOCK_STREAM、SOCK_DGRAM 的套接字,它实现于系统核心。原始套接字使进程可以读与写 ICMP、IGMP 等...
分类:
其他好文 时间:
2014-12-23 19:32:35
阅读次数:
231
原始套接字SOCK_RAW实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM)。而这些数据包都是由系统提供的协议栈实现,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送。然而在某些...
分类:
其他好文 时间:
2014-11-08 23:30:38
阅读次数:
298
1、确定socket的参数
根据图一,我们可以看出arp,rarp和ip虽然同属于网络层(又名IP层),但是他们的数据包装是独立的。虽然icmp和igmp也处在IP层,但是它们又需要ip数据报的包装。所以我们在为arp和rarp建立socket的时候,就不能利用ip的原始数据报(SOCK_RAW)了,我们需要最原始的以太网帧的数包(SOCK_PACKET);在对于网络类型的选择上,可以根据需要选择IPv4(AF_INET)或IPv6(AF_INET6);arp的协议类型跟以太网帧数据类型一样,所以应该是0x...
分类:
系统相关 时间:
2014-11-04 11:07:02
阅读次数:
321