V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JohnLou
V2EX  ›  问与答

libnet 打印输出端口为啥不对。

  •  
  •   JohnLou · 2016-11-22 19:07:17 +08:00 · 853 次点击
    这是一个创建于 2867 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下面的代码输出 ip 地址是正确的,但这端口一直变化,内存地址应该正确了呀。

    ip = (struct libnet_ipv4_hdr*)(packet + ETHERNET_H_LEN);
    tcp = (struct libnet_tcp_hdr*)(ip + ip->ip_hl * 4);
    
    u_int8_t* addr = (u_int8_t*)(&(ip->ip_src.s_addr));
    printf("src ip: %d:%d:%d:%d\n", addr[0], addr[1], addr[2], addr[3]);
    printf("src port: %d, dst port: %d\n", ntohs(tcp->th_sport), ntohs(tcp->th_dport));
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1123 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:19 · PVG 07:19 · LAX 16:19 · JFK 19:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.