在做TCP/IP协议分析的时候,是不是tcp,udp,ip的每一个字段都是网络字节顺序?要想获取其真实的值是不是都要用到ntohs(ntohl ……)函数?还是只有某些字段是网络顺序?
解决方案 »
- 光标样式更改的问题?
- 高手请教:怎样实现语音通话
- 90分求,Bluetooth通过TCP/IP,连自己这样能实现吗?
- 怎样使用VMR9实现多路视频的高效回放?
- 问大家 一个非常初级的问题(本来刚接触ATL)
- ## VS.net 2003编译的问题,无法定位 FreeAddrInfoW 在 ws2_32.dll
- 用管理员的身份进行远程查询注册表的程序出错,高手指点
- 请较如何将基于Console的程序集成到用MFC AppWizard(exe)创建的工程中
- 急急!请大家帮我看看这个问题!是不是逻辑上有什么错误!
- 如何模拟ie输入?
- 如何延时,请高手
- 汗 有人在codeproject上用中文提问过么 刚见到个 来围观
如果在协议层之上,那么直接按照:
IP协议(20个字节)+TCP协议(20个字节)/UDP协议(8个字节)来分析包
如果在协议层之下,那么需要在IP协议前加上一个以太网协议(14个字节)
具体的协议格式,网上都可以搜索到
字节顺序是针对大于 1 byte的数据类型而言的。
IP 地址是4 bytes, Port 是 2 bytes, 当然要做字节顺序转换。
big-endian(大端字节顺序), little-endian(小端字节顺序)。
主机字顺序,网络字节顺序,两者取big-endian、 little-endian中的一种,因为主机字节顺序取决于硬件平台, 网络字节顺序取决于 TCP/IP协议栈实现。参考:http://en.wikipedia.org/wiki/Endianness