[总结]TCP/IP各种数据包结构体

下面这些TCP/IP数据包是我在进行Socket及Wipcap网络编程过程中曾经用到过的数据包结构体, 这些东西平时看起来不起眼,真正用到的时候就会觉得非常有用....../*物理帧头结构*/typedef struct {?? BYTE? desmac[6]; //目的MAC地址?? BYTE? srcmac[6]; //源MAC地址??USHORT? ethertype; //帧类型}Dlc_Header;??????/*IP报头结构*/typedef struct? {?BYTE? h_len_ver; ?//IP版本号(高4位)及以32比特为单位的IP包头部的长度(低四位)?BY...
2008-01-04 11:09 | 阅读 10962 次 | 评论 0 条

网络字节序与主机字节序

在网络上存在不同的系统,在不同的系统中存储数据时所采用的字节排列顺是不同的,有的系统是高位在内存高位,低位在内存低位,而有的系统则刚好相反。例如:我在Intel cpu (WinXp)上做了如下测试:void main(){ int a=0x1234;}查看内存发现:0x0012ff7c存放的是34而0x0012ff7d存放的是12,这就是小端序,而网络字节序采用的是大端序,即高位存放于低地址,低位存放于高地址。 实现字节序转化的函数有以下几个:U_long htonl(U_long hostlong)将无符号长整型数从主机字节序转化为网络字节序u_short htos(u_shor...
2008-01-04 10:42 | 阅读 4381 次 | 评论 0 条

C语言模拟Ping

最近在学习TCP/IP协议。在以前套接字基础上又学习了原始套接字的使用。并喜欢上了这个东西-因为它功能太强大了。 下面是我用原始套接字实现的Ping.exe命令这是运行后的效果(嘿嘿,还真相Ping程序,哈哈) //Ping模拟 By RedIce//E-mail:redice@see.xidian.edu.cn//http://redice.1.suhai.com.cn#include <winsock2.h> //Winsock API头文件#include <stdio.h>#include <stdlib.h>#pragma comment(lib,"ws2_32.lib"...
2007-12-23 01:41 | 阅读 4638 次 | 评论 2 条
浏览576244次