[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