阅读:1278回复:2
可以得到端口吗
我现在得到了包的内容,通过包的内容是可以得到协议类型的,如下:
if(((char *)pPacketContent)[12] == 8 && ((char *)pPacketContent)[13] == 0 && ((char *)pPacketContent)[23] == 17) UDP包 我现在问题是如果是UDP包,我怎么得到它的端口号呢,能从这个包内容中得到吗,谢谢,看过协议分析的书,可是还是没有很好的思路,谢谢。 |
|
沙发#
发布于:2004-12-01 14:54
简单点:
(pPacketContent + 34)已经指向UDP包的源端口了,其中,34代表14个字节的Ether MAC头长度,20个字节的IP包头长度。 但是,要考虑的问题很多:例如,接收到的MAC帧是VLAN帧吗?IP包头是不是正好就是20个字节吗?(虽然大多数是20,不过若带有选项的话就不是了),这些都要处理。 [编辑 - 12/1/04 by frog_huang] |
|
板凳#
发布于:2004-12-01 15:11
谢谢,已给分了,呵呵
|
|