TCP/IP Log

  • Hallo,

    gibt es unter Mac OS X (oder ab 10.4) irgend eine Möglichkeit per Logfiles, Commandline Tools etc. herauszufinden welche Anwendung welche IP/Port verwendet? (möglich müsste es zumindest sein weil sonst könnte man keine Firewall baun die auf Anfragen reagiert, nur WIE ;))

    Mfg Erik
    enum { NSNoInterfaceStyle = 0, // Default value for window's interfaceStyle
  • Also LSOF ist genau das was ich brauche. Gut dass es auch eine Funktion enthält die das Parsen des Outputs erleichtert. Aber das ganze immer von einer Anwendung heraus per NSTask zu starten ist doch auch nicht gerade Ressourcen schonend. Gibts da nicht ne bessere alternative?

    Ich müsste LSOF sonst nämlich alle 10 Sekunden (oder weniger) ausführen, um es halbwegs in "pseudo realtime" zu haben. realtime wär natürlich ideal, ist aber über commandline natürlich nicht realistisch.

    Was ich regelmäßig abfragen muss ist: Welche Anwendung hat auf Welchen Ports TCP/UDP aktivitäten

    lg
    enum { NSNoInterfaceStyle = 0, // Default value for window's interfaceStyle
  • Ich blick da überhaupt nicht durch beim LSOF source, den hatte ich mir schonmal angesehn ^^
    Das ist ja teilweise ärger als obfuscated code.

    LSOF bezieht doch seine infos von irgendwelchen virtuellen files. Wo liegen denn diese? (/proc/ppid/status unter darwin nicht vorhanden)

    lg
    enum { NSNoInterfaceStyle = 0, // Default value for window's interfaceStyle
  • Ich habe exakt das selbe Problem wie du, ich brauche auch die einem Prozess zugeordnete Prozess-ID, und das möglichst ohne viel Prozessorlast.
    Meine erste Idee war netstat, allerdings fehlt der OSX-Version die Funktion, die PID anzugeben. tcpdump kann das auch nicht.
    /proc habe ich mir auch schon überlegt, allerdings gibts das procfs ja nicht unter OS X.
    lsof ist eigentlich nicht schlecht, aber braucht viel zu viel CPU-Power...

    Da die Anwendungen, nach denen ich bei meinem Problem suche, sehr viel Netzwerk-Traffic erzeugen, gucke ich im Moment einfach, ob eins von den Programmen, das in Frage kommt, im moment läuft und ob sehr viel traffic an ein und denselben Server rausgeht. Bei mir geht das halbwegs gut, da ich eben die Programme alle kenne. Ist aber nur eine Übergangslösung. Ob so etwas bei dir in Frage kommt, weiß ich eben nicht. Wäre aber auch für eine bessere Lösung sehr dankbar =)
  • Original von Florian
    Ich habe exakt das selbe Problem wie du, ich brauche auch die einem Prozess zugeordnete Prozess-ID, und das möglichst ohne viel Prozessorlast.
    Meine erste Idee war netstat, allerdings fehlt der OSX-Version die Funktion, die PID anzugeben. tcpdump kann das auch nicht.
    /proc habe ich mir auch schon überlegt, allerdings gibts das procfs ja nicht unter OS X.
    lsof ist eigentlich nicht schlecht, aber braucht viel zu viel CPU-Power...

    Da die Anwendungen, nach denen ich bei meinem Problem suche, sehr viel Netzwerk-Traffic erzeugen, gucke ich im Moment einfach, ob eins von den Programmen, das in Frage kommt, im moment läuft und ob sehr viel traffic an ein und denselben Server rausgeht. Bei mir geht das halbwegs gut, da ich eben die Programme alle kenne. Ist aber nur eine Übergangslösung. Ob so etwas bei dir in Frage kommt, weiß ich eben nicht. Wäre aber auch für eine bessere Lösung sehr dankbar =)


    bemüh doch mal die forumsuche!
    da gibts genug threads - unter anderem auch einen von mir in dem auch jede menge source drin ist (sogar eine fertige Kategorie)