獲取端口號,巧用union類型!!

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;
}

發佈了37 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章