[unix-ws] ntpdate, ports?
Dr. Lex Wennmacher
wennmach at geo.Uni-Koeln.DE
Fre Okt 27 16:36:52 CEST 2000
On Oct 26, 3:18pm, Martin Horneffer wrote:
> On Oct 26, 13:47, Heiko Klein wrote:
> > Vielleicht ganz allgemein: Wie erfahre ich, welchen port ein Programm
> > benutzt und welchen es anspricht?
>
> Grundsaetzlich: indem man es in der Protokollspezifikation nachliest.
> Oder, falls es sich nicht um ein offenes Protokoll handelt, indem man vom
> Hersteller entsprechende "Technische Informationen fuer
> Firewall-Administratoren" o.ae. bekommt.
>
> Ansonsten verwaltet die IANA (www.iana.org) u.a. die registrierten
> Port-Nummern.
>
> Und wenn das Protokoll schon lange genug bekannt ist, dann wird die
> Portnummer ggf. auch in /etc/services mitgeliefert:
>
> $ grep '^ntp' /etc/services
> ntp 123/tcp # Network Time Protocol
> ntp 123/udp # Network Time Protocol
> $
Ich glaube, Heikos Frage war allgemeiner: "Wenn ich ein unbekanntes Programm
habe, wie finde ich heraus, welche Ports es öffnet?". Wenn man nicht weiss,
welche Protokolle das Programm verwendet, hilft einem /etc/services usw. auch
nicht weiter.
Was man hier machen kann, ist "lsof" verwenden. Man started das Programm und
ruft danach lsof auf. Angezeigt werden dann u. a. die offenen UDP und TCP
Ports. Beispiel:
blue> lsof | grep ntp
xntpd 224 root cwd VDIR 0,0 512 2 /
xntpd 224 root txt VREG 0,4 204800 128201 /usr (/dev/wd0e)
xntpd 224 root txt VREG 0,4 53248 66826
/usr/libexec/ld.so
xntpd 224 root txt VREG 0,4 44333 61262 /usr (/dev/wd0e)
xntpd 224 root txt VREG 0,4 492349 61604 /usr/lib/libc.so
xntpd 224 root 0u VCHR 2,2 0t0 52 /dev/null
xntpd 224 root 1u VCHR 2,2 0t0 52 /dev/null
xntpd 224 root 2u VCHR 2,2 0t0 52 /dev/null
xntpd 224 root 3u unix 0xc0569520 0t0 ->0xc0569000
xntpd 224 root 4u inet 0xc0549284 0t0 UDP *:ntp
xntpd 224 root 5u inet 0xc05492e0 0t0 UDP blue:ntp
xntpd 224 root 6u inet 0xc054933c 0t0 UDP localhost:ntp
Also: xntpd hört auf ntp/udp (123/udp, wie ein Blick in /etc/services zeigt).
Das Verfahren funktioniert aber nur für aktuell geöffnente Ports.
Wenn Programme während der Laufzeit Ports öffnen und schliessen, hilft
"Mitschneiden" mit tcpdump (der "sniff" oder ...).
Ciao
Lex