lkml.org 
[lkml]   [2000]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] ipchains log will show all flags
    Hi Linus,

    This tiny patch extends ipchains logging. This way one can distinguish
    (plain) connection attempts and (Xmas, Fin,...) scans. E.g.
    kernel: Packet log: input - lo PROTO=6 127.0.0.1:40326 127.0.0.1:80
    L=40 S=0x00 I=5808 F=0x0000 T=51 (#1)
    vs.
    L=40 S=0x00 I=5808 F=0x0000 T=51 (#1) B=-s--a-
    and
    L=40 S=0x00 I=5808 F=0x0000 T=51 (#1) B=fs-p-u

    Please comment on the format (B=...) and implementation details (speed).
    The patch is against 2.2.17's /net/ipv4/ip_fw.c


    ipchains log with flags Christian W. Zuckschwerdt <zany@triq.net>

    --- linux-2.2.17-pristine/net/ipv4/ip_fw.c.orig Mon Nov 27 00:38:36 2000
    +++ linux-2.2.17/net/ipv4/ip_fw.c Sun Dec 3 23:58:06 2000
    @@ -415,6 +415,7 @@
    {
    __u32 *opt = (__u32 *) (ip + 1);
    int opti;
    + struct tcphdr *tcp=(struct tcphdr *)((__u32 *)ip+ip->ihl);

    if (f)
    {
    @@ -443,7 +444,15 @@

    for (opti = 0; opti < (ip->ihl - sizeof(struct iphdr) / 4); opti++)
    printk(" O=0x%8.8X", *opt++);
    - printk(" %s(#%d)\n", syn ? "SYN " : /* "PENANCE" */ "", count);
    + printk(" %s(#%d)", syn ? "SYN " : /* "PENANCE" */ "", count);
    +
    + if (ip->protocol == IPPROTO_TCP)
    + printk(" B=%c%c%c%c%c%c\n", tcp->fin ? 'f' : '-',
    + tcp-syn ? 's' : '-', tcp->rst ? 'r' : '-',
    + tcp->psh ? 'p' : '-', tcp->ack ? 'a' : '-',
    + tcp->urg ? 'u' : '-');
    + else
    + printk("\n");
    }

    /* function for checking chain labels for user space. */
    --
    cu.
    :
    Christian
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 12:51    [W:0.021 / U:1.144 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site