Wie unterhalten sich Server???

#0
08.05.2003, 16:07
...neu hier

Beiträge: 3
#1 Hallo zusammen,

ich versuche mich gerade ein wenig an Netfilter-Regelsätzen und stehe gerade ein wenig auf dem Schlauch.
Naja, wenn ein Client z.B. an einen DNS Server eine Frage richtet, dann benutzt er einen Port <1024. Damit weiß ich, dass ich bei einem Zugriff von Clients auf DNS nun mal für die Clients die Source-Ports <1024 freigeben muss.

Wie ist das aber bei einem Server?
Benutzt ein DNS Server zum Senden seiner Anfrage auch einen Port <1024? Oder benutzt er ebenfalls den Port 53?
Wie ist das bei SQUID? Benutzt der für seine Anfragen den Port 3128? Oder doch einen der unprivilegierten?

Danke im Voraus,

Mario
Seitenanfang Seitenende
08.05.2003, 23:31
Member
Avatar framp

Beiträge: 326
#2 So ganz sicher bin ich mir nicht - aber soweit ich weiss benutzte der DNS Server einen Port > 1024 als AntwortPort. Die Anfrage muss ueber 53 laufen.
Sicher bin ich mir, dass Squid einen Port > 1024 benutzt, .d.h. wenn dein lokaler Client ueber Squid ins Netzs geht, dann geht er lokal an 3128, aber extern nutzt er einen Port > 1024 im Internet.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
09.05.2003, 12:32
...neu hier

Themenstarter

Beiträge: 3
#3 Ähem... Der DNS benutzt einen AntwortPort >1024???
Bist du dir da sicher? Ich denke, dass der DNS die Antwort über 53 raushaut... OH, sehe gerade, dass ich die ">" in meinem Posting falsch herum gemacht hatte....

Also, ich meinte, ob der DNS für die Anfrage einen Port größer als 1024 benutzt oder ob er den Port 53 benutzt. Als Antwort, und da bin ich mir eigentlich ziemlich sicher, benutzt der andere DNS den Port 53....

Oder sehe ich das falsch?
Seitenanfang Seitenende
09.05.2003, 17:25
Member
Avatar framp

Beiträge: 326
#4 Ein Bild sagt man, sagt mehr als tausend Worte ;)

Client port Port Server1 Port Port Server2
>1024 ?www.google.de 53 > 1024 ?www.google.de 53
>1024 Awww.google.de 53 > 1024 Awww.google.de 53

>1024 ?www.google.de 53
>1024 Awww.google.de 53

Beim ersten Mal kennt Dein lokaler DNS Server die Adresse nicht und geht weiter zu einem weiteren DNS Server. Die Antwort wird dann gekached und zum Client weitergereicht.
Beim zweiten Mal kennt Dein lokaler DNS Server die Adress schon und gibt sie sofort zum Client zurueck.

Ich denke, dass ist das Szenario was Du im Kopf hast oder?
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 09.05.2003 um 17:26 Uhr von framp editiert.
Seitenanfang Seitenende
09.05.2003, 19:55
Member
Avatar Xeper

Beiträge: 5291
#5 @mragucci

Hier ein paar Beispiele für dich wie Client und Server oder andersrum mit einander Kommunizieren. Client1 komuniziert mit Server1 während dies synchron von zwei Sniffern auf Server1 und Client2 geloggt wird.

Eine DNS Abfrage von Client1 + Ping:

Server1:

gateway:~# tcpdump host 192.168.1.3
tcpdump: listening on eth0

19:28:25.202528 notebook.omega.int.1034 > gateway.omega.int.domain: 1+ A? www.giga.de. (29)
19:28:25.202990 notebook.omega.int.1035 > gateway.omega.int.domain: 1+ A? www.giga.de. (29)
19:28:25.212573 gateway.omega.int.domain > notebook.omega.int.1034: 1 1/3/3 A beta.giga.de (168) (DF)
19:28:25.213959 gateway.omega.int.domain > notebook.omega.int.1035: 1 1/3/3 A beta.giga.de (168) (DF)

19:28:25.237229 notebook.omega.int > beta.giga.de: icmp: echo request
19:28:25.302679 beta.giga.de > notebook.omega.int: icmp: echo reply

client2:

sgi 3# snoop 192.168.1.3
Using device ef0 (promiscuous mode)

notebook -> gateway DNS C port=1034
notebook -> gateway DNS C port=1035
gateway -> notebook DNS R port=1034
gateway -> notebook DNS R port=1035


notebook -> beta ICMP Echo request
beta -> notebook ICMP Echo reply

Hier eine dhcp lease Abfrage vom Client:

19:32:47.054588 arp who-has gateway.omega.int tell notebook.omega.int
19:32:47.054668 arp reply gateway.omega.int is-at 0:4:75:c0:56:12
19:32:47.055283 notebook.omega.int.bootpc > gateway.omega.int.bootps: xid:0x5e25e938 C:notebook.omega.int file ""[|bootp]
19:32:47.058679 gateway.omega.int.bootps > notebook.omega.int.bootpc: xid:0x5e25e938 C:notebook.omega.int Y:notebook.omega.int S:gateway.omega.int file ""[|bootp] (DF)

Hier fragt der Server nach der aktuellen dhcp lease:
19:32:52.058143 arp who-has notebook.omega.int tell gateway.omega.int
19:32:52.063417 arp reply notebook.omega.int is-at 0:0:86:57:ff:5

Hier nochmal das ganze von client2 geloggt:

notebook -> (broadcast) ARP C Who is 192.168.1.254, gateway ?
notebook -> gateway DHCP/BOOTP BOOTREQUEST server= file=
gateway -> notebook DHCP/BOOTP BOOTREPLY server=
notebook -> gateway ARP R 192.168.1.3, notebook is 0:0:86:57:ff:5

Normalerweise schickt der DNS Server seine Antwort immer vom dns port (53) ab. Und sendet sie zum gleichen Port des Clients wo er seine Anfrage gestartet hatte. Das dürfte mit fast allen Diensten (Daemons) genauso sein.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Dieser Beitrag wurde am 09.05.2003 um 19:56 Uhr von Xeper editiert.
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: