Frage zu netstat -p

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Frage zu netstat -p

Beitrag von weedy » 15.04.2016 10:39:45

Hi,

netstat listet ja alle belegten Sockets und aufgebauten Verbindungen.

-p liefert die dahinterstehenden Programme.

Aber einige Programme werden als '-' gekennzeichnet, das sind dann wohl Verbindungen und Sockets, die der Kernel selber nutzt (also ohne explizites Userspace Programm).

Gibt es eine Möglichkeit, herauszufinden, welche Kernelmodule sich dahinter verbergen?

Gruß

uname
Beiträge: 12411
Registriert: 03.06.2008 09:33:02

Re: Frage zu netstat -p

Beitrag von uname » 15.04.2016 10:44:49

Schau dir mal Debianlsof an. Im Prinzip ist alles eine Datei.

Als root z.B.:

Code: Alles auswählen

lsof |fgrep irgendwas
Leider weiß ich nicht ob die Inode aus netstat der NODE in lsof entspricht. Aber danach würde ich mal per lsof suchen.

Rufst du überhaupt "netstat -p" als root auf. Das könnte auch helfen.

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Frage zu netstat -p

Beitrag von weedy » 16.04.2016 21:40:10

uname hat geschrieben:Schau dir mal Debianlsof an. Im Prinzip ist alles eine Datei.

Als root z.B.:

Code: Alles auswählen

lsof |fgrep irgendwas
Leider weiß ich nicht ob die Inode aus netstat der NODE in lsof entspricht. Aber danach würde ich mal per lsof suchen.

Rufst du überhaupt "netstat -p" als root auf. Das könnte auch helfen.
lsof liefert ja nur Userspace- und keine Kernel- Informationen.

Gibt es überhaupt ein paar brauchbare Kernel Tools, die Beziehungen zwischen Modulen und diversen anderen Entitäten darstellen können?

Gruß

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Frage zu netstat -p

Beitrag von rendegast » 17.04.2016 11:20:30

Ist vielleicht eine Rechte-Sache. s.u.
Probe: 'netstat -p' als root <-> als normaler Benutzer, ala uname.

Ist /proc vielleicht 'hidepid=[1|2]' gemountet?
Bei mir explizit in /etc/fstab

Code: Alles auswählen

proc            /proc           proc    defaults,hidepid=1        0       0
, bei Dir vielleicht implizit (systemd? neuer kernel-default?).







EDIT
Habe ganz übersehen, daß die (zBsp.) cifs-Mounts sich genau so darstellen.
Zuletzt geändert von rendegast am 17.04.2016 19:32:45, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Frage zu netstat -p

Beitrag von weedy » 17.04.2016 11:44:22

rendegast hat geschrieben:Ist vielleicht eine Rechte-Sache.
Probe: 'netstat -p' als root <-> als normaler Benutzer, ala uname.

Ist /proc vielleicht 'hidepid=[1|2]' gemountet?
Bei mir explizit in /etc/fstab

Code: Alles auswählen

proc            /proc           proc    defaults,hidepid=1        0       0
, bei Dir vielleicht implizit (systemd? neuer kernel-default?).
# cat /proc/mounts | grep proc
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

Das ist ja ziemlich übel, dass hidepid nirgendwo sauber dokumentiert ist, also weder in 'man -a proc' noch in 'man -a mount', wo man es eigentlich erwarten wuerde.

Jetzt bin ich mit 'man -K hidepid' unterwegs und finde eine unvollstaendige Erklaerung in pstree,

Ah, hier steht mehr:
/usr/src/linux/Documentation/filesystems/proc.txt

Man, das ist jedesmal ein Gesuche. Gibt es nicht einen Infobrowser, der alles unter die Lupe nimmt?

Gut, also zurueck zum Thema: ich nutze netstat -p (+ wahlweise weitere Optionen) als root und erhalte Einträge, die statt dem Programmnamen ein '-' zeigen.

Beispiel:

Code: Alles auswählen

# netstat -npt
Aktive Internetverbindungen (ohne Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.0.8:43804       192.168.0.30:445        VERBUNDEN   -               
Ich weiss hier natuerlich, dass es sich um cifs handeln muss, folglich ist das ein Kernelprozess, der im Userland vermutlich keinen Namen und keine Pid besitzt oder netstat ist zu bloed, das rauszufinden.

Aber ich haette gern Gewissheit.

'ps axu' aber ist in der Lage, mir Kernelprozesse und die dazugehoerigen Pids anzuzeigen.

Beispiel:

Code: Alles auswählen


# ps axu | grep cifs
root       892  0.0  0.0      0     0 ?        S<   09:38   0:00 [cifsiod]
root      1764  0.0  0.0      0     0 ?        S    09:38   0:00 [cifsd]
root     11833  0.0  0.0  12752  2124 pts/8    S+   11:44   0:00 grep cifs
(in Klammern wird das Kernelmodul bzw. der Name des Kernelprozesses benannt).

Und jetzt nochmal die Frage: gibt es vieleicht ein netstat-Pendant, oder eine Option, die ich uebersehen habe, welches auch dies kann?

Gruss

Antworten