0

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ヘッダー構造のようですが、dstポートを変更したい場合は、#179で変更しますか、それとももっと良い方法がありますか?

また、これはコンパイルする正しい方法ですか?

gcc -Wall libnet-config --definesarp-new-new.c libnet-config --libs-lpcap -lnet

4

1 に答える 1

0

libnet の私の小さな経験では、dst ポートがあるフィールドは 179 だった場所であり、私自身のコンパイル コマンドは $ gcc -Wall -std=gnu99 -pedantic disect5.c -lpcap libnet-config --defines libnet-config --libs-lnet -o disect5 (for disect5) という名前の C プログラム

于 2013-02-25T18:29:30.023 に答える