linux 发送原始数据包
来源:互联网 发布:电子琴学习软件 编辑:程序博客网 时间:2024/05/16 12:56
int packet_socket = socket(PF_PACKET, socket_type, protocol);
描述:
packet socket用于从设备驱动层接收或发送原始数据包,可用于用户在
物理层以上构建自己的通信协议.
socket_type 可为: SOCK_RAW/或SOCK_DGRAM.其中SOCK_RAW可用于发送
原始数据包,此时可自定义数据链路层头部;SOCK_DGRAM可用于在数据链
路层以上构建包.结构sockaddr_ll中会用到链路层头部信息.协议为IE-
EE 802.3 协议号的网络序列(可参考文件--它包含了
可接受的协议号定义).所有到达的属于已定义物理层协议的包先通过p-
acket socket到达已在内核实现的链路层协议处理层.
仅有特权进程或有CAP_NET_RAW属性的进程才能打开packet套接口.
如果用SOCK_RAW,则数据包将直接通过设备驱动程序不加任何改变地发送
出去.这就要求用户程序必须了解物理层头部结构,并适当地构建包,此时
地址解析将用到标准sockaddr_ll结构.SOCK_RAW很象用于2.0版核心老的
SOCK_PACKET,但他们并不完全一致.
SOCK_DGRAM建立在更高层.在接受包时,物理头将在到达用户前被去掉;而
在发包时,物理头部将在发送前被自动添加.
- linux 发送原始数据包
- 【Linux网络编程】原始套接字实例:发送 UDP 数据包
- winsock直接发送原始数据包
- 发送ARP原始数据包全过程
- 原始套接字SOCK_RAW发送UDP数据包
- 读取linux下的网络设备的mac地址与发送原始数据包
- Linux 网络编程——原始套接字实例:发送 UDP 数据包
- Linux 网络编程——原始套接字实例:发送 UDP 数据包
- linux实用PF_PACKET接收原始链路层数据包
- linux实用PF_PACKET接收原始链路层数据包
- 读取linux下的网络设备的mac地址与发送原始数据包 (2011-11-23 20:11)
- Windows环境下实现原始UDP数据包发送
- Linux 原始套接字发送接收示例
- linux原始套接字-发送ARP报文
- linux原始套接字-发送ICMP报文
- Linux内核发送构造数据包的方式
- LINUX协议栈详解 数据包发送
- Linux内核发送构造数据包的方式
- 世界各国浏览器语言代码对照表
- iOS App自定义URL Scheme设计
- 元素相对定位 容器内部进行元素浮动
- 三种继承的方法:public 继承/private继承/protected继承详解及区别
- 判断URL 是否是一个有效的URL
- linux 发送原始数据包
- 2.系统管理之----日志管理
- 堆排序
- cursor 状态 总结 this.style.cursor
- Android系统Recovery工作原理之使用update.zip升级过程分析(二)---update.zip差分包问题的解决
- window2003执行gpupdate更新策略时出现问题,rsop结果集出现错
- Win7+VMware Workstation环境下的CentOS-Linux网络连接设置
- android高亮进度条
- java连接MySql数据库和增删改查代码