Προς το περιεχόμενο

Μια ip διαφορετικο πορτ δεν πρεπει αν χρησιμοποει για καθε ξεχωριστη συνδεση?


Nik0s

Προτεινόμενες αναρτήσεις

Δημοσ.

Kαλημερα, κοιτουσα το ΝΑΤ mapping του ρουτερ μου και εχω μια απορια.

Πως στις εισερχομενες συνδεσεις απο διαφορους peers ειναι δυνατον μια συγκεκριμενη ip address χρησιμοπιωντας το ιδιο πορτ α ζηταει συνδεση με το ρουτερ μου? Τουλαχιθστον αν ηεθλε 2η ή 3η συνδεση επρεπε να προερχεται απο διαφορετικο πορτ της ιδιας ip και οχι του ιδιου.

 

Ποια ειναι η γνωμη σας?

 

>
16	TCP	192.168.1.2	53449	178.59.69.86	53449	84.254.18.38	35158
17	TCP	192.168.1.2	53462	178.59.69.86	53462	84.254.18.38	35158
18	TCP	192.168.1.2	52649	178.59.69.86	52649	84.254.18.38	35158

18	TCP	192.168.1.2	53927	178.59.69.86	53927	97.74.215.53	80
19	TCP	192.168.1.2	53886	178.59.69.86	53886	97.74.215.53	80
20	TCP	192.168.1.2	53869	178.59.69.86	53869	97.74.215.53	80

  • 1 μήνα μετά...
Δημοσ.
Τουλαχιθστον αν ηεθλε 2η ή 3η συνδεση επρεπε να προερχεται απο διαφορετικο πορτ της ιδιας ip και οχι του ιδιου.

 

Σωστός. Εκτός αν το προηγούμενο connection έχει ήδη τερματιστεί. ;)

Δημοσ.

Aν ειχε τερματιστει γιατι ανφερεται στον τρεχοντα πινακα ΝΑΤ και μαλιστα σε πολλες παρομοιες περιπτωσεις?

 

Εν το μεταξυ τοπικα δεν εχω δει ποτε κατι παρομοιο δηλαδη το localhost δεν το εδειξε ΠΟΤΕ να χρησιμοποιει ιδιο πορτ σε περισσοτερες του ενος συνδεσεις. Το ιδιο και με την WAN_IP kai WAN_Port

 

Μονο στις Peer IPs kai Peer Ports συμβαινει συνεχως αυτο.

Δημοσ.
Aν ειχε τερματιστει γιατι ανφερεται στον τρεχοντα πινακα ΝΑΤ και μαλιστα σε πολλες παρομοιες περιπτωσεις?

 

Δεν γνωρίζω τί router έχεις και τί ισχυρίζεται ότι δείχνει στον πίνακα που αναφέρεις! Μήπως είναι κάποιου είδους log;

 

Όπως και να 'χει, μπορείς να τρέξεις στον host κάποιο εργαλείο που να δείχνει λεπτομέρειες για τα εκάστοτε τρέχοντα network connections. Ξεκίνα με την netstat σε τερματικό.

Δημοσ.

>
TCP    127.0.0.1:65283        Dell:65284             ESTABLISHED
TCP    127.0.0.1:65284        Dell:65283             ESTABLISHED
TCP    192.168.1.2:49396      95.82.2.6:printer      ESTABLISHED
TCP    192.168.1.2:50330      62:19817               ESTABLISHED
TCP    192.168.1.2:50337      by2msg1010607:http     ESTABLISHED
TCP    192.168.1.2:50507      147.52.3.186:5938      ESTABLISHED
TCP    192.168.1.2:50527      fx-in-f101:http        ESTABLISHED
TCP    192.168.1.2:50528      fx-in-f101:http        ESTABLISHED
TCP    192.168.1.2:50535      www-11-02:http         ESTABLISHED
TCP    192.168.1.2:50545      a92-122-216-122:http   ESTABLISHED
TCP    192.168.1.2:50546      a92-122-216-122:http   ESTABLISHED
TCP    192.168.1.2:50547      a92-122-216-122:http   ESTABLISHED
TCP    192.168.1.2:50549      static-ip-62-41:http   CLOSE_WAIT
TCP    192.168.1.2:50640      65.54.172.213:http     ESTABLISHED
TCP    192.168.1.2:50646      fx-in-f113:https       ESTABLISHED
TCP    192.168.1.2:50650      channel55-09-01-snc1:http  TIME_WAIT
TCP    192.168.1.2:50705      fx-in-f102:http        ESTABLISHED
TCP    192.168.1.2:50710      74.125.14.80:http      TIME_WAIT
TCP    192.168.1.2:50734      channel55-09-01-snc1:http  TIME_WAIT
TCP    192.168.1.2:50736      178-50-20:23046        TIME_WAIT
TCP    192.168.1.2:50741      78-19-30:36362         TIME_WAIT
TCP    192.168.1.2:50755      178:27984              TIME_WAIT
TCP    192.168.1.2:50768      1:http                 TIME_WAIT
TCP    192.168.1.2:50772      1:http                 TIME_WAIT
TCP    192.168.1.2:50773      1:http                 TIME_WAIT
TCP    192.168.1.2:50775      178:19941              TIME_WAIT
TCP    192.168.1.2:50779      62.1.42.20:http        TIME_WAIT
TCP    192.168.1.2:50780      62.1.42.20:http        CLOSE_WAIT
TCP    192.168.1.2:50783      fx-in-f156:http        ESTABLISHED
TCP    192.168.1.2:50784      fx-in-f156:http        ESTABLISHED
TCP    192.168.1.2:50786      62.1.42.20:http        TIME_WAIT
TCP    192.168.1.2:50787      fx-in-f149:http        ESTABLISHED
TCP    192.168.1.2:50793      fx-in-f149:http        TIME_WAIT
TCP    192.168.1.2:50794      mu-in-f102:http        ESTABLISHED
TCP    192.168.1.2:50816      ec2-184-73-242-255:http  TIME_WAIT
TCP    192.168.1.2:50818      adsl-165:61591         TIME_WAIT
TCP    192.168.1.2:50822      cpc4-sgyl29-2-0-cust148:45282  FIN_WAIT_2
TCP    192.168.1.2:50832      channel55-09-01-snc1:http  ESTABLISHED
TCP    192.168.1.2:50854      ppp-94-66-147-126:12201  TIME_WAIT
TCP    192.168.1.2:50856      212:56000              FIN_WAIT_2
TCP    192.168.1.2:50864      ppp079166039116:38078  TIME_WAIT
TCP    192.168.1.2:50872      ppp079166157105:46196  TIME_WAIT
TCP    192.168.1.2:50874      ppp-94-67-61-18:14318  TIME_WAIT
TCP    192.168.1.2:50875      athedsl-139909:55626   TIME_WAIT
TCP    192.168.1.2:50887      athedsl-4499965:55761  CLOSING
TCP    192.168.1.2:50889      ppp-94-64-231-250:22035  CLOSING
TCP    192.168.1.2:50893      adsl-93:23580          SYN_SENT
TCP    192.168.1.2:50896      ppp-94-65-219-150:43365  SYN_SENT

 

Ακομα και με την 'netstat' παλι το ιδιο φαινομενο παρατηρειται....

 

---------- Προσθήκη στις 18:03 ---------- Προηγούμενο μήνυμα στις 18:02 ----------

 

για παραδεγιμα εδω

 

TCP 192.168.1.2:50545 a92-122-216-122:http ESTABLISHED

TCP 192.168.1.2:50546 a92-122-216-122:http ESTABLISHED

TCP 192.168.1.2:50547 a92-122-216-122:http ESTABLISHED

Δημοσ.
για παραδεγιμα εδω

 

TCP 192.168.1.2:50545 a92-122-216-122:http ESTABLISHED

TCP 192.168.1.2:50546 a92-122-216-122:http ESTABLISHED

TCP 192.168.1.2:50547 a92-122-216-122:http ESTABLISHED

 

Εγώ βλέπω ίδιο destination port (http, συντόμευση για το port 80), αλλά τρία διαφορετικά source ports (50545, 50546 και 50547). Στον HTTP server που συνδέεσαι, αυτό σημαίνει 3 διαφορετικά network sockets, δεν είναι κάτι περίεργο. Για διάβασε λίγο εδώ τί λέει: http://en.wikipedia.org/wiki/Internet_socket

 

An Internet socket is characterized by a unique combination of the following:

 

* Protocol: A transport protocol (e.g., TCP, UDP), raw IP, or others. TCP port 53 and UDP port 53 are different, distinct sockets.

* Local socket address: Local IP address and port number

* Remote socket address: Only for established TCP sockets. As discussed in the Client-Server section below, this is necessary since a TCP server may serve several clients concurrently. The server creates one socket for each client, and these sockets share the same local socket address.

Δημοσ.

α μπερδευτηκα προκειται για εξερχομενη συνδεση και οχι για εισερχομενη.

 

Αυτο επρεπε να δειχνει και ο πινακας NAT και γω σκφτομουν αναποδα.

Δημοσ.

Δεν υπάρχει διαφορά, και εισερχόμενη σύνδεση να ήταν. Σε αυτήν την περίπτωση, κάτι τέτοιο θα σήμαινε πως στον host σου τρέχει μία ή περισσότερες υπηρεσίες που «ακούνε» στις θύρες 50545, 50546 και 50547 και έχουν εδραιωθεί 3 διαφορετικά connections με τον host a92-122-216-122, με source port την 80.

Δημοσ.

Εχεις απολυτο δικιο δεν εχει διαφορα και δεν μπορεις να καταλαβει κανεις για τι ειδους συνδση προκειται. Βασικα ομως σκεπτομενο οτι εγω δεν τρεχω 3 διαφορετικες υπηρεσιες τοπικα σε αυτες τις λογικες θυρες γιατι θα το ηξερα αρα προκειται για εξερχομενη συνδεση προς τον host a92-122-216-122, με source port την 80.

 

Το θεμα τωρα αλλαζει την δυναμικη της ερωτησης κανοντας την

"γιατι ενα ήδη εδραιωμενο tcp connection δεν ειναι αρκετο για συνδεση σε αυτον τον host και χρειαζονται 3?" Εχω δει και 5 σε αλλους servers.

Δημοσ.

Στην προκειμένη, αφού πρόκειται για HTTP traffic, γιατί έτσι είναι πιο αποδοτική η λήψη ιστοσελίδων.

 

Ένα HTML που σου σερβίρει ο server συνήθως περιέχει αναφορές και σε άλλα αντικείμενα ("resources"), πολλά από τα οποία εξυπηρετούνται από τον ίδιο server. Θα υπήρχε μεγαλύτερη καθυστέρηση αν ο client ζητούσε 1-1 αυτά τα αντικείμενα, περιμένοντας να ολοκληρωθεί η λήψη του πριν προχωρήσει σε κάποιο άλλο.

 

Τώρα, για το γιατί δε γίνεται παράλληλη λήψη των resources που εξυπηρετεί ο ίδιος server μέσα στο ίδιο connection, το πρώτο πράγμα που έρχεται στο μυαλό είναι ότι κάτι τέτοιο θα εισήγαγε μάλλον άχρηστη περιπλοκότητα στο HTTP -γιατί να ξαναϋλοποιήσουν λογική που υπάρχει ήδη σε χαμηλότερο επίπεδο;

Δημοσ.

Τυχαίο, τραβηγμένο παράδειγμα, με αφορμή τα 3 connections που παρέθεσες πιο πάνω από τη netstat: Έστω ότι σε ένα tab του browser σου έχεις επισκεφτεί μία ιστοσελίδα που έχει embdded 3 Flash videos (embedded μεν, αλλά τα videos να βρίσκονται στον ίδιο server με αυτόν της ιστοσελίδας). Έστω ότι κάνεις κλικ και στα 3 και αρχίζουν να παίζουν ταυτόχρονα. Δεν περιμένεις να δεις κατ' ελάχιστον 3 connections, ένα για κάθε video... ;

Δημοσ.

Πολυ σωστα, μεχρι τωρα νομιζα πως ενα http request εξυπηρετουντω απο ενα http response, 1 connection θελω να πω και οτι τα δεδομενα μεταφερονατς σειριακα, αλλα οπως με διαφωτισατε δεν ειναι ετσι για λογους ταχυτητας. Ευχαριστω δεν το γνωριζα.

 

Παντως παιδια γενιακ κοιτωντα μια γραμμη νετστατ ή το NAT table του ρουτερ μας ειμαστε σε θεση να καταλαβουμε η καθε γραμμη του πινακα που αφορα ενα established connection αν πυροδοτηθηκε απο εισερχομενο ή εξερχομενο request ιδιαιτερα αν το source port < 1024(system services) ? Για ports > 1024 και με uPnP κλειστο θα καταλαβαιναμε οτι προκειται για εισερχομενη συνδεση σε υπηρεσιες που ακουνε τοπικα και τις ειχαμε ανοιξει οι ιδιοι.

 

Αλλα ακομη περισσοτερο ας υποθεσουμε οτι δειχνουμε σε καποιον φιλο καλη ωρα σε εσας παιδια (parsifal, nske) το current NAT table ή την netstat.....

 

Μπορειτε με ασφαλεια ν πειτε η καθε γραμμη του πινακα αν αφορα εισερχομενη ή εξερχομενη συνδεση και να το δικαιολογησετε κιολας? Αυτα χωρις να σας εχω πει τι τρεχω/δεν τρεχω στο pc μου.

 

Διαγνωμη με αλλο λογια του incoming/outgoing traffic καθως και running proccesses.

Δημοσ.
νομιζα πως ενα http request εξυπηρετουντω απο ενα http response, 1 connection θελω να πω

 

Ένα HTTP request εξυπηρετείται από ένα connection, απλά εσύ στέλνεις πολλά HTTP requests παράλληλα για να απεικονίσεις το περιεχόμενο μιας τυπικής τοποθεσίας.

 

Βέβαια ένα HTTP requests μπορεί να χρησιμοποιήσει το ίδιο connection με ένα προγενέστερο HTTP request, αν είναι ακόμα ζωντανό και ελεύθερο, δεν είναι απαραίτητο κάθε connection να τερματίζει μετά την εξυπηρέτηση ενός request.

 

Παντως παιδια γενιακ κοιτωντα μια γραμμη νετστατ ή το NAT table του ρουτερ μας ειμαστε σε θεση να καταλαβουμε η καθε γραμμη του πινακα που αφορα ενα established connection αν πυροδοτηθηκε απο εισερχομενο ή εξερχομενο request ιδιαιτερα αν το source port < 1024(system services)

Δηλαδή θέλεις να γνωρίζεις ποιο ήταν το άκρο που ξεκίνησε το handshake μιας ενεργούς σύνδεσης.

 

Η netstat είναι ένα απλό εργαλείο για να απεικονίζεις τις αναγκαίες πληροφορίες που έχει το λειτουργικό για τα ανοικτά sockets, αυτή η πληροφορία δε νομίζω ότι κρατιέται από το λειτουργικό κανονικά, επειδή δεν είναι αναγκαία. Οπότε για να μπορείς να τη γνωρίζεις με βεβαιότητα θα πρέπει να χρησιμοποιήσεις κάποιο ανεξάρτητο πρόγραμμα (το οποίο θα τρέχει διαρκώς).

 

Στο Linux με ενεργοποιημένο netfilter και το κατάλληλο iptables configuration, μπορείς να αντλήσεις αυτήν την πληροφορία με βεβαιότητα, όμως αν αυτό που ψάχνεις είναι ένα προγραμματάκι που θα σου την δίνει απλά και γρήγορα για όλες τις ενεργές συνδέσεις δεν θα βολέψει.

 

Πάντως πρακτικά στις περισσότερες περιπτώσεις είναι αρκετό να δεις τα listening sockets (netstat -l), για να συμπεράνεις ότι, αν κάτι κρατάει ένα listening socket σε κάποια port της τοπικής σου διεύθυνσης και υπάρχει μια ενεργή σύνδεση σε αυτό το port, το άλλο άκρο είναι που την ξεκίνησε -και το αντίστροφο.

 

Επίσης πρακτικά, μπορείς με τη netstat να δεις ποιο process έχει ανοίξει το socket, και, αν είναι έμπιστο και γνωρίζεις τι κάνει, να συμπεράνεις έτσι.

 

Αλλα ακομη περισσοτερο ας υποθεσουμε οτι δειχνουμε σε καποιον φιλο καλη ωρα σε εσας παιδια (parsifal' date=' nske) το current NAT table ή την netstat.....

 

Μπορειτε με ασφαλεια ν πειτε η καθε γραμμη του πινακα αν αφορα εισερχομενη ή εξερχομενη συνδεση και να το δικαιολογησετε κιολας? Αυτα χωρις να σας εχω πει τι τρεχω/δεν τρεχω στο pc μου.[/quote']

 

Κανείς δε μπορεί να το πει με ασφάλεια αποκλειστικά και μόνο από αυτήν την έξοδο της netstat.

 

Τώρα για το συγκεκριμένο NAT table, φαντάζομαι ότι εξαρτάται από το ποιες συνδέσεις συμπεριλαμβάνει και από το τι δηλώνει η σειρά των στηλών.

 

Πρακτικά ο πιο γρήγορος τρόπος να βγάλεις τα συμπεράσματά σου είναι να σηκώσεις κάτι στο 192.168.1.2, να βάλεις τον router να κάνει Destination NAT (port forwarding) εκεί, να ανοίξεις μια σύνδεση απ' έξω εκεί και τότε να συγκρίνεις σε αυτό το NAT table αν και πώς απεικονίζονται συνδέσεις στις οποίες ξέρεις ότι γίνεται Source NAT και συνδέσεις στις οποίες ξέρεις ότι γίνεται Destination NAT.

Δημοσ.

νικο καλημερα. Πρεπει να διαβασεις routing και upnp και tables και θα κατανοησεις τα παντα. Συγνωμη για το κυνικο της απαντησης αλλα με τετοιου ειδους πληροφοριες θα εχεις αρκετα κενα, ασχετα αν ειναι σωστα αυτα που λενε τα παιδια. Να ξερεις παντως οτι τα connections δεν τερματιζοντε και εχουν lease time καπου στις 48 ωρες by default...... ενα βασικο προβλημα των προγραμματιστων. η by default γκαμα ας πουμε των πορτων που χρησιμοποιει το tcp/ip στα connectons εκτος απο τα δηλωμενα (http, msn, k.l.p.) ειναι απο 16384 - 49152 πορτες με 10 concurrent simultaneous connections per netbios socket (m$ networking me upnp). Αν γνωριζεις τα ανωτερω ας πουμε για παραδειγμα και χρησιμοποιεις torrents κανεις απο μονος σου 2 αλλαγες και παιζεις παντα τερματισμενος με δυνατοτητα να σερφαρεις και σχετικα ανετα ταυτοχρονα.

 

Αυτο βεβαια δε θα σε σωσει αν δε πειραξεις και καμια 20ρια αλλα πραγματα ταυτοχρονα, ουτε να το δεις σαν καποια επιδειξη, αλλα το routing θελει διαβασμα που θα σου δωσει λυσεις που δε θα τις βρεις σε κανενα google

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...