void get_ports(const u_char *pkt, int *src_port, int *dst_port)
{
typedef union aaa
{
int port;
u_char te[2];
} aa;
const u_char *tmp = pkt + ETH_HEADER + IP_HEADER;
aa src, dst;
src.te[1] = *tmp & 0x0ff;
src.te[0] = *(tmp + 1) & 0x0ff;
dst.te[1] = *(tmp + 2) & 0x0ff;
dst.te[0] = *(tmp + 3) & 0x0ff;
*src_port = src.port;
*dst_port = dst.port;
}
获取端口号,巧用union类型!!
最新推荐文章于 2022-01-06 17:04:36 发布