Windows网络编程 の 原始套接字学习笔记ICMP
来源:互联网 发布:康师傅冰糖雪梨知乎 编辑:程序博客网 时间:2024/04/30 05:06
原始套接字学习笔记 由于原始套接字能够对基层传输机制加以控制,所以存在一定的潜在的安全漏洞,因此在WIN NT下只有“Administrators”组的成员,才有权创建类型为SOCK_RAW的原始套接字, 但是在NT中可以通过修改注册表绕过这一限制,能够达到让系统禁制对原始套接字的安全检查 方法如下: 注册表中创建如下变量 并设置为1(DWORD类型) HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/AFD/Parameters/DisableRawSecurity
icmp头结构
1 :由类型和代码定义了ICMP查询或消息的类型
2 :校验和是对ICMP头内容的一个补余求和 其
计算方法如下函数
用原始套接字发送报文发送的字节一般为
sendto
sizeof(ICMP头大小) + SendData(数据长度)
接收大小为
recvfrom
sizeof(ip头大小) + sizeof(ICMP头大小) + RecvData(数据长度)
IP头的结构如下
/---------------------------------------------------------------------------------------------/
如果在编写Ping工具的时候希望可以记录经过的路由的IP和Name可以通过
通过
套接字选项setsockopt()设置IP_OPTIONS选项
这样在ICMP包抵达路由器时,他的IP地址就能自动添加到到ICMP包的IP选项头中
关于setsockopt看MSDN
- Windows网络编程 の 原始套接字学习笔记ICMP
- 网络编程原始套接字
- 网络编程原始套接字
- UNIX环境编程---------原始套接字学习笔记-----原始套接字的bind操作
- UNIX环境编程--------原始套接字学习笔记-----Linux原始套接字实现分析
- 【Linux网络编程】原始套接字编程
- UNIX环境编程-----原始套接字学习笔记----转载实例
- Linux网络编程:10. 原始套接字
- 网络编程之-原始套接字
- Linux网络编程:原始套接字
- 网络编程之-原始套接字
- Linux网络编程: 原始套接字
- 链路层网络编程技术--原始套接字
- Linux网络编程: 原始套接字
- Linux 网络编程之原始套接字
- Linux 网络编程之原始套接字
- 网络编程(原始套接字)
- 网络编程原始套接字(转)
- struts 进不了action方法
- 网络日志(2010.5.26)
- C 语言 malloc 和 free函数浅谈
- 宏和CONST
- 最优适应算法
- Windows网络编程 の 原始套接字学习笔记ICMP
- 如何调用FCKeditor
- 百练 OJ 2754 八皇后问题
- sort list and dict
- 软件网络认证的实现(附源码)
- 嵌入式学习步骤
- python文件和路径操作介绍
- random
- 开始编码了