netfilter port abfragen



  • Hallo,

    ich habe ein kleines Kernelmodul für Linux geschrieben, was alle IP-Pakete von netfilter nimmt und diese dann analysieren kann.

    Ich möchte nun von einem TCP-Paket oder UDP-Paket sowohl den SourcePort als auch den DestinationPort abfragen. Dafür habe ich auch alles soweit programmiert.

    Hier einige kurze Ausschnitte:

    ...
    struct tcphdr *tcph = skb->h.th;
    ...
    sport = convert_port(tcph->source);
    dport = convert_port(tcph->dest);
    ...
    

    Mein Problem ist jetzt, dass wenn ich von dem lokalen Linuxrechner Verbindungen über den localen loop mache, dann zeigt mir mein Modul die richtigen Ports an. Also wenn ich von lokal z.B. mit dem lokalen Webserver eine Verbindung aufmache ist alles ok.

    ALLOWED: SRC: 127.0.0.1 : 52610 DST: 127.0.0.1 : 80
    ALLOWED: SRC: 127.0.0.1 : 80 DST: 127.0.0.1 : 52610
    

    Wenn ich aber von extern über das Internet oder über mein lokales LAN auf diesen Linuxrechner zugreifen, dann spuckt mir mein Modul total faslche Port-Adressen raus.

    DROPPED: SRC: 85.176.167.182 : 17664 DST: 85.176.129.86 : 48
    

    Hat hier jemand eine Ahnung wieso dass so ist?

    Ich hatte überlegt, ob es evtl. an dem Linux liegt. Ich nutze Fedora 4. Dort ist ja per default dieses SELinux aktiviert. Das habe ich deaktiviert, aber dies hat keine Verbesserung gebracht.

    --
    Danke


Anmelden zum Antworten