c - Libnet基本使用

标签 c macos gcc libnet

我一直在查看 libnet 提供的示例源代码,但是,我不清楚如何处理以下内容。

length+=LIBNET_TCP_H;
t = libnet_build_tcp(
    0x6666,                                     /* source port */
    179,                                        /* destination port */
    0x01010101,                                 /* sequence number */
    0x02020202,                                 /* acknowledgement num */
    TH_SYN,                                     /* control flags */
    32767,                                      /* window size */
    0,                                          /* checksum */
    0,                                          /* urgent pointer */
length,                                     /* TCP packet size */
    NULL,                                       /* payload */
    0,                                          /* payload size */
    l,                                          /* libnet handle */
    0);                                         /* libnet id */

这似乎是一个 TCP header 结构,但是,如果我想更改 dst 端口,我应该在 #179 处进行操作,还是有更好的方法?

另外,这是正确的编译方法吗:

gcc -Wall libnet-config --defines arp-new-new.c libnet-config --libs -lpcap -lnet

最佳答案

根据我对libnet的一点经验,你的dst端口是179,我自己的编译命令是: $ gcc -Wall -std=gnu99 -pedantic disect5.c -lpcap libnet -config --defines libnet-config --libs -lnet -o disect5 (对于名为 disect5 的 C 程序) 格雷兹

关于c - Libnet基本使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677144/

相关文章:

c++ - 将 Bmp 灰度读入 C

c - 从 C 中的链表返回字符串数组

ios - cocoa : "perspective transform"可用吗?

c - cortex-m0plus 上的浮点库

c - 使用 GCC 编译漏洞时遇到问题

没有 fork 可以用 pipe 吗?

c - 在线程之间平均分配进程

linux - 了解 grep 的行为

Mac 上的 Python,设置已安装模块的路径,以便 Python 可以使用

c - 如何获取 "how many and which symbols are resolved by linker"的信息?