Δικτύωση με TCP/IP Εντολές, εργαλεία και βοηθητικά προγράμματα. Σύντομος οδηγός για το εργαστήριο
Δικτύωση TCP/IP. Εντολές, εργαλεία και βοηθητικά προγράμματα. Σε κάθε Λειτουργικό Σύστημα που υποστηρίζει το πρωτόκολλο TCP/IP υπάρχουν διαθέσιμες εντολέςεργαλεία για την εμφάνιση, αλλαγή των δικτυακών ρυθμίσεων (Διεύθυνση IP, Μάσκα υποδικτύου...) και των διαφόρων παραμέτρων των δικτυακών πρωτοκόλλων, εργαλεία για τον έλεγχο της συνδεσιμότητας (ping, traceroute...) και της λειτουργίας υπηρεσιών, βοηθητικά προγράμματα, κυρίως πελάτες (clients) για βασικές υπηρεσίες του δικτύου όπως απομακρυσμένη σύνδεση σε Η/Υ (telnet), μεταφορά αρχείων (ftp), ανάλυση ονομάτων DNS (nslookup) κτλ. Στη βασική τους μορφή, εκτελούνται σε περιβάλλον κειμένου στη γραμμή εντολών για DOS/WINDOWS ή σε ένα κέλυφος (π.χ. bash shell) σε ένα τερματικό για unix/linux/mac OS X. Στα περισσότερα όμως Λ.Σ. υπάρχουν εφαρμογές σε γραφικό περιβάλλον (GUI) που μπορούν να εκτελέσουν τις ίδιες ή αντίστοιχες λειτουργίες στις οποίες θα γίνει αναφορά όποτε απαιτείται. Επισημαίνεται όμως ότι τα εργαλεία της γραμμής εντολών είναι διαθέσιμα και σε περιπτώσεις μειωμένης λειτουργικότητας, (ασφαλής λειτουργία με γραμμή εντολών, μη εκκίνηση γραφικού περιβάλλοντος) και πιο βολική και γρήγορη η χρήση τους για τον έμπειρο διαχειριστή. Επίσης, διαχρονικά συνοδεύοντας το λειτουργικό σύστημα υπόκεινται σε λιγότερες αλλαγές. Στα περισσότερα αντίστοιχα γραφικά εργαλεία υπάρχει διαφοροποίηση από έκδοση σε έκδοση με αποτέλεσμα την πολυμορφία η οποία μπορεί να κουράσει τον διαχειριστή που κινείται σε διάφορα περιβάλλοντα και εκδόσεις του ίδιου Λ.Σ. Εμφάνιση δικτυακών ρυθμίσεων Σε έναν υπολογιστή που τρέχει Windows 1 η εμφάνιση των δικτυακών ρυθμίσεων από τη γραμμή εντολών γίνεται ως εξής: Microsoft Windows XP [Έκδοση 5.1.2600] (C) Πνευματικά δικαιώματα 1985-2001 Microsoft Corporation C:\>ipconfig Ρύθμιση παραμέτρων IP των Windows Προσαρμογέας Ethernet Τοπική σύνδεση: Επίθημα DNS συγκεκρ. σύνδεσης. : Διεύθυνση IP.......... : 10.0.2.15 Μάσκα υποδικτύου........ : 255.255.255.0 Προεπιλεγμένη πύλη....... : 10.0.2.2 C:\> 1 Με τον όρο Windows εννοείται γενικά η έκδοση 7. Όπου υπάρχει διαφοροποίηση σε άλλες εκδόσεις θα επισημαίνεται. Δικτύωση με TCP/IP by SV2DOF, Σελ. 2 / 34
Εάν προστεθεί και ο διακόπτης /all τότε εμφανίζονται εκτενέστερες πληροφορίες και για όλες τις υπάρχουσες δικτυακές διασυνδέσεις του συγκεκριμένου υπολογιστή. Σ' έναν υπολογιστή με linux, η εμφάνιση των δικτυακών ρυθμίσεων γίνεται ως εξής: george@perseus:~$ /sbin/ifconfig eth0 Link encap:ethernet HWaddr 00:19:d1:60:cb:f8 inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::219:d1ff:fe60:cbf8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30276043 errors:0 dropped:0 overruns:0 frame:0 TX packets:32395459 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:422044918 (422.0 MB) TX bytes:254501053 (254.5 MB) Memory:e8300000-e8320000 lo Link encap:local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:18936875 errors:0 dropped:0 overruns:0 frame:0 TX packets:18936875 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4212842518 (4.2 GB) TX bytes:4212842518 (4.2 GB) george@perseus:~$ Στο linux η ίδια εντολή (ifconfig) μπορεί να χρησιμοποιηθεί και για την αλλαγή των ρυθμίσεων. Η προεπιλεγμένη πύλη (default gateway) και οι διακομιστές DNS εμφανίζονται με τη χρήση άλλων εντολών. Για την προεπιλεγμένη πύλη 2 george@perseus:~$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 george@perseus:~$ 2 η netstat -r λειτουργεί με τον ίδιο τρόπο και στα windows Δικτύωση με TCP/IP by SV2DOF, Σελ. 3 / 34
και για τους διακομιστές DNS george@perseus:~$ cat /etc/resolv.conf # Generated by NetworkManager nameserver 193.92.150.3 nameserver 194.219.227.1 george@perseus:~$ Αλλαγή δικτυακών ρυθμίσεων Σε πολλές περιπτώσεις οι αρχικές ρυθμίσεις δικτύου γίνονται αυτόματα, κατά την εκκίνηση του Η/Υ, εφόσον έχει γίνει τέτοια ρύθμιση από το διαχειριστή του υπολογιστή και υπάρχει διακομιστής DHCP 3 ο οποίος αποδίδει τέτοιες ρυθμίσεις στους υπολογιστές που είναι συνδεδεμένοι στο φυσικό δίκτυο που εξυπηρετεί. Εάν, στο τοπικό δίκτυο, υπάρχει δρομολογητής (router) που διασυνδέει το τοπικό δίκτυο με άλλα δίκτυα ή συνήθως με το Internet, τότε είναι συνηθισμένο να λειτουργεί και ως διακομιστής DHCP, αποδίδοντας αυτόματα ρυθμίσεις στους υπολογιστές του δικτύου που τις ζητούν. Εικόνα 1: Λεπτομέρεια ρυθμίσεων DHCP σε router Linksys WAG354G Εάν δεν υπάρχει διακομιστής DHCP τότε οι ρυθμίσεις θα πρέπει να γίνουν χειροκίνητα από τον χρήστη του υπολογιστή ο οποίος για να το κάνει θα πρέπει να έχει δικαιώματα διαχειριστή (Administrator για τα Windows και root ή να του επιτρέπεται η χρήση διαχειριστικών εντολών μέσω της sudo στο linux) 3 DHCP: Dynamic Host Configuration Protocol. Δείτε και στο http://el.wikipedia.org/wiki/dhcp Δικτύωση με TCP/IP by SV2DOF, Σελ. 4 / 34
Ρυθμίσεις δικτύου. Ποιες και γιατί; Για τη βασική επικοινωνία με τους άλλους υπολογιστές του ίδιου τοπικού δικτύου απαιτείται 1. Διεύθυνση IP ( IP Address, inet addr) 2. Μάσκα (υπο-)δικτύου (network mask, Mask) Για την επικοινωνία με υπολογιστές εκτός δικτύου (που ανήκουν σε άλλα δίκτυα) απαιτείται επιπλέον και προεπιλεγμένη πύλη (default gateway) 1. Διεύθυνση IP (IP Address, inet addr) 2. Μάσκα (υπο-)δικτύου (network mask, Mask) 3. Προεπιλεγμένη πύλη (default gateway) Για την πλήρη δυνατότητα επικοινωνίας με υπολογιστές άλλων δικτύων χρησιμοποιώντας εκτός των αριθμητικών διευθύνσεών τους (IP) και τα ονόματά τους (FQDN 4 ) όπως π.χ. www.sch.gr απαιτείται και η ρύθμιση ενός τουλάχιστον πρωτεύοντος διακομιστή DNS και προαιρετικά ενός ή περισσοτέρων δευτερευόντων διακομιστών DNS για την ανάλυση των ονομάτων (name resolution). 1. Διεύθυνση IP (IP Address, inet addr) 2. Μάσκα (υπο-)δικτύου (network mask, Mask) 3. Προεπιλεγμένη πύλη (default gateway) 4. Διακομιστής DNS1, [DNS2] (DNS server) MS Windows ( 7 ) Στα Windows οι ρυθμίσεις γίνονται με γραφικό τρόπο. Ο τρόπος που υποδεικνύεται δεν είναι μοναδικός και στο ίδιο αποτέλεσμα μπορεί να φτάσει κανείς και με εναλλακτικούς τρόπους. Επιλέγεται Έναρξη > Πίνακας Ελέγχου, Δίκτυο και Internet, Κέντρο δικτύου και κοινής χρήσης, και από την αριστερή στήλη Αλλαγή ρυθμίσεων προσαρμογέα. 4 FQDN: Fully Qualified Domain Name. Δείτε http://en.wikipedia.org/wiki/fqdn Δικτύωση με TCP/IP by SV2DOF, Σελ. 5 / 34
δεξί κλικ στο Local Area Connection και επιλογή Ιδιότητες Επιλογή Πρωτόκολλο Internet Έκδοση 4 (TCP/IPv4) και κλικ στις Ιδιότητες Δικτύωση με TCP/IP by SV2DOF, Σελ. 6 / 34
Στο παράθυρο που εμφανίζεται υπάρχουν όλα τα πεδία για να δοθούν οι ρυθμίσεις που κρίνει ο διαχειριστής ανάλογα με τον επιδιωκόμενο σκοπό. Ο διαχειριστής πρέπει να ξέρει τι κάνει!!! Μετά το ΟΚ, ΟΚ, ισχύουν οι νέες ρυθμίσεις. Οι νέες ρυθμίσεις μπορούν να επιβεβαιωθούν και από τη Γραμμή εντολών με την ipconfig /all Linux (unix, xxxxbsd, Mac OS X,...) Στο linux υπάρχει μια μεγάλη ποικιλία σε γραφικά εργαλεία για τη ρύθμιση των δικτυακών διασυνδέσεων (Network Interfaces) ανάλογα με το γραφικό περιβάλλον που χρησιμοποιείται (GNOME, KDE κτλ) ή και τη διανομή (SUSE, Ubuntu, Red Hat/Fedora/CENTOS, Mandriva κτλ) Διαφοροποίηση υπάρχει και στον τρόπο εκκίνησης (init scripts) και μόνιμων ρυθμίσεων των δικτυακών υπηρεσιών και πρωτοκόλλων ανάλογα με τη διανομή. Για λεπτομέρειες μονίμων ρυθμίσεων (που θα ισχύουν ακόμη και μετά από επανεκκίνηση) θα πρέπει να γίνει χρήση της τεκμηρίωσης της εκάστοτε διανομής. Π.χ. για το Slackware Linux και τη ρύθμιση του TCP/IP γίνεται λόγος στο Slackware Book Project στον δικτυακό τόπο http://www.slackbook.org/html/network-configuration-tcpip.html ενώ για την τρέχουσα έκδοση Ubuntu στο https://help.ubuntu.com/stable/ubuntu-help/net-wired.html Δικτύωση με TCP/IP by SV2DOF, Σελ. 7 / 34
Ρύθμιση δικτύου (ενσύρματου) σε Ubuntu 14.04 LTS με χρήση εργαλείων (NetworkManager) σε γραφικό περιβάλλον UNITY Στον πίνακα εφαρμογών (άνω μέρος της επιφάνειας εργασίας) κάνουμε κλικ στο εικονίδιο του network-manager και επιλέγουμε Επεξεργασία συνδέσεων... Επιλέγουμε την Ενσύρματη σύνδεση 1 και κάνουμε κλικ στο κουμπί Επεξεργασία επιθυμούμε. Στην καρτέλα Ρυθμίσεις IPv4 επιλέγουμε Μέθοδος: Χειροκίνητα και δίνουμε τις ρυθμίσεις που Δικτύωση με TCP/IP by SV2DOF, Σελ. 8 / 34
Τέλος, για να ισχύσουν οι αλλαγές μπορεί να απαιτηθεί να πιστοποιηθεί ο χρήστης, δίνοντας τον κωδικό του. Εφόσον έχει διαχειριστικά δικαιώματα, πραγματοποιούνται και ισχύουν οι νέες ρυθμίσεις του. Ρύθμιση δικτύου (ενσύρματου) σε Ubuntu (διανομή βασισμένη σε Debian) χωρίς γραφικό περιβάλλον (απουσία NetworkManager) Οι ρυθμίσεις των δικτυακών διασυνδέσεων, απουσία γραφικών εργαλείων ή GUI, γίνονται στο αρχείο ρυθμίσεων /etc/network/interfaces Πρόκειται για ένα απλό αρχείο κειμένου το οποίο ανοίγουμε με έναν συντάκτη κειμένου (editor) όπως ο vi και επειδή απαιτούνται διαχειριστικά δικαιώματα για να γράψουμε στο αρχείο αυτό, το ανοίγουμε με την εντολή sudo vi /etc/network/interfaces george@2epalx:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.61 netmask 255.255.255.0 gateway 192.168.1.1 # This PC has a second Ethernet NIC auto eth1 Δικτύωση με TCP/IP by SV2DOF, Σελ. 9 / 34
iface eth1 inet dhcp george@2epalx:~$ Μετά την ολοκλήρωση των αλλαγών και αποθήκευση του τροποποιημένου αρχείου, για να ισχύσουν οι αλλαγές, εκτελούμε την εντολή sudo /etc/init.d/networking restart Παρατηρήσεις Τα ονόματα των δικτυακών διασυνδέσεων (iface) είναι lo (loopback- ο ίδιος ο υπολογιστής), eth0 (1η κάρτα ethernet), eth1 (2η κάρτα ethernet) κ.ο.κ. Το πρόθεμα auto ορίζει ότι η διασύνδεση ενεργοποιείται κατά την εκκίνηση του Η/Υ, η λέξη inet ότι υποστηρίζει το πρωτόκολλο IPv4, dhcp ότι παίρνει αυτόματες ρυθμίσεις από διακομιστή DHCP, static ότι δίνεται στατική διεύθυνση IP και address, netmask, gateway, η διεύθυνση IP, μάσκα δικτύου και προεπιλεγμένη πύλη αντίστοιχα. Περισσότερες πληροφορίες για τη σύνταξη του αρχείου interfaces μπορείτε να βρείτε στις αντίστοιχες σελίδες του εγχειριδίου του συστήματος man interfaces Οι ρυθμίσεις για τους διακομιστές DNS γίνονται με αντίστοιχο τρόπο στο αρχείο /etc/resolv.conf με το πρόθεμα nameserver ακολουθούμενο από τη διεύθυνση IP του διακομιστή DNS george@2epalx:~$ cat /etc/resolv.conf domain domain_not_set.invalid search domain_not_set.invalid nameserver 193.92.150.3 nameserver 193.92.3.11 nameserver 192.168.1.1 george@2epalx:~$ ifconfig Η ifconfig είναι η εντολή η οποία καλείται να ρυθμίσει κατά την εκκίνηση όλες τις δικτυακές διασυνδέσεις ενός συστήματος της ευρύτερης οικογένειας του unix (linux, FreeBSD, Mac OS X, Solaris, κτλ). Μετά την εκκίνηση του συστήματος χρησιμοποιείται μόνο περιστασιακά για εκσφαλμάτωση και προσωρινή αλλαγή των ρυθμίσεων των δικτυακών διασυνδέσεων (για δοκιμές). Όταν δίνεται χωρίς όρισμα εμφανίζει τις τρέχουσες ρυθμίσεις όλων των δικτυακών διασυνδέσεων του υπολογιστικού συστήματος. Όταν συνοδεύεται από ορίσματα εφαρμόζει τις ανάλογες ρυθμίσεις στη συγκεκριμένη δικτυακή διασύνδεση και για το σκοπό αυτό απαιτούνται δικαιώματα διαχειριστή (χρήστης root ή δικαίωμα εκτέλεσης μέσω της sudo) Για τη σύνταξη της εντολής ifconfig δείτε τις αντίστοιχες σελίδες του εγχειριδίου του συστήματος man ifconfig Συνήθεις χρήσεις της ifconfig Εμφάνιση των ρυθμίσεων όλων των ενεργών (UP) δικτυακών διασυνδέσεων /sbin/ifconfig Εμφάνιση των ρυθμίσεων όλων των δικτυακών διασυνδέσεων, ακόμη κι αυτών που είναι ανενεργές Δικτύωση με TCP/IP by SV2DOF, Σελ. 10 / 34
(DOWN) /sbin/ifconfig -a Εμφάνιση των ρυθμίσεων της διασύνδεσης eth0 /sbin/ifconfig eth0 Αλλαγή της διεύθυνσης IP της διασύνδεσης eth0 σε 192.168.1.141 /sbin/ifconfig eth0 192.168.1.141 Αλλαγή της μάσκας δικτύου της διασύνδεσης eth0 σε 255.255.255.192 /sbin/ifconfig eth0 netmask 255.255.255.192 Απενεργοποίηση της διασύνδεσης eth1 /sbin/ifconfig eth1 down Ενεργοποίηση της διασύνδεσης eth1 /sbin/ifconfig eth1 up Παρακάτω φαίνεται το αποτέλεσμα της εκτέλεσης της ifconfig σε υπολογιστή Apple Macintosh με Mac OS X 10.3.9 (σύστημα βασισμένο στο FreeBSD) Επεξηγήσεις en1: δικτυακή διασύνδεση 1 mtu, μέγιστο μέγεθος πλαισίου (μονάδας εκπομπής) 1500 bytes inet, διεύθυνση internet (IP, λογική-3ο επίπεδο) 192.168.1.67, netmask, μάσκα δικτύου 0xffffff00 (=255.255.255.0) σε δεκαεξαδική μορφή broadcast, διεύθυνση εκπομπής 192.168.1.255 ether, διεύθυνση ethernet (φυσική-2ο επίπεδο) 00:0d:93:89:18:ca Παράδειγμα χρήσης της ifconfig για την εμφάνιση των ρυθμίσεων της δικτυακής διασύνδεσης eth0 Δικτύωση με TCP/IP by SV2DOF, Σελ. 11 / 34
σε σύστημα ubuntu george@perseus:~$ /sbin/ifconfig eth0 eth0 Link encap:ethernet HWaddr 00:19:d1:60:cb:f8 inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::219:d1ff:fe60:cbf8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:41996116 errors:0 dropped:0 overruns:0 frame:0 TX packets:44857768 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:264483578 (264.4 MB) TX bytes:1320620722 (1.3 GB) Memory:e8300000-e8320000 george@perseus:~$ Επεξηγήσεις eth0, δικτυακή διασύνδεση eth 0 Link encap: ενθυλάκωση 2ου επιπέδου (data link) ethernet HWaddr: διεύθυνση υλικού (φυσική-2ου επιπέδου) ethernet 00:19:d1:60:cb:f8 inet addr: διεύθυνση internet (IP, λογική-3ου επιπέδου) 192.168.1.110 Bcast: διεύθυνση εκπομπής 192.168.1.255 Mask: μάσκα δικτύου 255.255.255.0 MTU: μέγιστο μέγεθος πλαισίου (μονάδας εκπομπής) 1500 bytes Metric: κόστος διασύνδεσης κατά τον υπολογισμό δρομολογίων: 1 Ασκήσεις 1. Στον υπολογιστή που εργάζεστε, i. αναγνωρίστε εάν υπάρχει εγκατεστημένη κάρτα δικτύου Ethernet, είναι συνδεδεμένη σε hub ή switch επίσης ii. ποια διεύθυνση IP, μάσκα δικτύου και προεπιλεγμένη πύλη έχει. (Υπόδειξη: Εξετάστε οπτικά το πίσω μέρος του υπολογιστή και προσπαθήστε να εντοπίσετε μια υποδοχή τύπου RJ-45 (modular jack/plug 8p8c) είτε στο πίσω μέρος της μητρικής (ενσωματωμένη στο Μ/Β) είτε στην πίσω όψη των υποδοχών επέκτασης (πρόσθετη εκ των υστέρων). Δείτε εάν υπάρχει κατάλληλο καλώδιο τύπου UTP/FTP με τους αντίστοιχους ακροδέκτες που να καταλήγει σε hub ή switch. Ελέγξτε αν είναι σε λειτουργία. Εάν ο υπολογιστής σας τρέχει windows εκτελέστε ipconfig /all Εάν τρέχει linux, εκτελέστε /sbin/ifconfig) Σημειώστε τα αποτελέσματα. 2. Στον υπολογιστή που εργάζεστε, i. αλλάξτε τη διεύθυνση IP σε 192.168.7.12 (ή ό,τι άλλο σας ζητηθεί) ii. αλλάξτε τη μάσκα δικτύου σε 255.255.255.192 iii. αλλάξτε την προεπιλεγμένη πύλη σε 192.168.1.3 (Εργαστείτε ανάλογα με το Λ.Σ. που τρέχει ο υπολογιστής σας, σύμφωνα με τα προηγούμενα) Δικτύωση με TCP/IP by SV2DOF, Σελ. 12 / 34
Έλεγχος επικοινωνίας και λειτουργίας υπηρεσιών arp Εμφανίζει ή τροποποιεί τις καταχωρήσεις στον προσωρινό πίνακα ARP 5 των αντιστοιχιών διευθύνσεων IP σε φυσικές διευθύνσεις Ethernet (MAC) Το πρωτόκολλο ARP είναι το πρωτόκολλο που πληροφορεί το IPv4 για το πίσω από ποια κάρτα ethernet βρίσκεται η διεύθυνση IP με την οποία θέλει να επικοινωνήσει και το αντίστροφο. Όλες οι αντιστοιχίες λογικών διευθύνσεων IP (layer 3) με φυσικές διευθύνσεις ethernet (MAC) (layer 2) διερευνώνται από το πρωτόκολλο ARP και αποθηκεύονται σε προσωρινό (cache) πίνακα. Αυτό σημαίνει ότι αν δεν υπάρξει δικτυακή κίνηση για αρκετό χρονικό διάστημα (μερικών λεπτών) ο πίνακας είναι κενός και η εκτέλεση της arp δεν θα εμφανίσει τίποτα. Στον πίνακα ARP δεν συμπεριλαμβάνεται η φυσική διεύθυνση του ίδιου του υπολογιστή στον οποίο εκτελείται η arp. Αυτή εμφανίζεται με ipconfig /all (σε windows) και ifconfig (σε unix/linux) george@perseus:~$ /usr/sbin/arp -n Address HWtype HWaddress Flags Mask Iface 192.168.1.1 ether 00:14:bf:eb:bb:90 C eth0 192.168.1.65 ether 00:04:00:ed:f9:68 C eth0 george@perseus:~$ Η παράμετρος -n ορίζει στην arp να μην επιχειρήσει ανάλυση ονομάτων DNS εκτέλεση της arp σε windows 7 ultimate C:\Users\george>arp -a Διασύνδεση: 10.146.0.200 --- 0xb Διεύθυνση Internet Φυσική διεύθυνση Τύπος 10.146.0.1 74-ea-3a-cd-06-40 δυναμικό 10.146.0.65 00-04-00-ed-f9-68 δυναμικό 10.146.0.110 00-19-d1-60-cb-f8 δυναμικό 10.146.0.255 ff-ff-ff-ff-ff-ff στατικό 224.0.0.22 01-00-5e-00-00-16 στατικό 224.0.0.251 01-00-5e-00-00-fb στατικό 224.0.0.252 01-00-5e-00-00-fc στατικό 239.255.255.250 01-00-5e-7f-ff-fa στατικό 255.255.255.255 ff-ff-ff-ff-ff-ff στατικό C:\Users\george> Παράδειγμα τροποποίησης arp cache σε windows 7 ultimate: > arp -s 157.55.85.212 00-aa-00-62-c6-09... Προσθέτει στατική καταχώρηση. Παρατήρηση Ας σημειωθεί ότι από τα τρία πρώτα byte της φυσικής διεύθυνσης ethernet (MAC) μπορεί να προσδιοριστεί ο κατασκευαστής του υλικού (κάρτας δικτύου). Για το σκοπό αυτό ανατρέχουμε στην λίστα με τους αριθμούς OUI (Organizationally Unique Identifier) και τους κατασκευαστές που αντιστοιχούν, στο http://standards.ieee.org/regauth/oui/oui.txt Έτσι βλέπουμε ότι ο κατασκευαστής του υλικού με IP 192.168.1.1 και HWaddress 00:14:bf:eb:bb:90 (OUI=00-14-bf) είναι Cisco-Linksys LLC και του υλικού με IP 192.168.1.65 και HWaddress 00:04:00:ed:f9:68 5 ARP, Address Resolution Protocol. RARP, Reverse Address Resolution Protocol Δικτύωση με TCP/IP by SV2DOF, Σελ. 13 / 34
(OUI=00-04-00) είναι LEXMARK INTERNATIONAL, INC. ping Η επαλήθευση της ορθότητας των ρυθμίσεων που έχουν γίνει σε μια δικτυακή διασύνδεση (network interface) ενός υπολογιστή, γίνεται ελέγχοντας την επικοινωνία του με έναν άλλο γνωστό υπολογιστή του δικτύου κάνοντας χρήση της εντολής ping. Γνωστό, εννοούμε έναν υπολογιστή του οποίου γνωρίζουμε τη διεύθυνση IP και ότι λειτουργεί κανονικά. Σε πρώτη φάση καλό είναι να ανήκει και στο ίδιο φυσικό (τοπικό) δίκτυο. Η ping δέχεται ως παράμετρο τη διεύθυνση του απομακρυσμένου υπολογιστή (με τον οποίον θέλουμε να ελέγξουμε την επικοινωνία) και του στέλνει πακέτα ICMP τύπου ECHO_REQUEST και περιμένει απαντήσεις τύπου ECHO_REPLY. Εφόσον ο απομακρυσμένος υπολογιστής απαντά στην ping, εξάγεται το συμπέρασμα ότι οι ρυθμίσεις που έγιναν είναι σωστές και η λειτουργικότητα του δικτύου είναι επιβεβαιωμένη μέχρι και το επίπεδο του δικτύου (3ο επίπεδο του μοντέλου OSI) Παράδειγμα χρήσης της ping σε Λ.Σ. linux george@perseus:~$ ping 10.146.0.65 PING 10.146.0.65 (10.146.0.65) 56(84) bytes of data. 64 bytes from 10.146.0.65: icmp_seq=1 ttl=254 time=1.33 ms 64 bytes from 10.146.0.65: icmp_seq=2 ttl=254 time=0.635 ms 64 bytes from 10.146.0.65: icmp_seq=3 ttl=254 time=0.664 ms 64 bytes from 10.146.0.65: icmp_seq=4 ttl=254 time=0.725 ms 64 bytes from 10.146.0.65: icmp_seq=5 ttl=254 time=0.696 ms 64 bytes from 10.146.0.65: icmp_seq=6 ttl=254 time=0.720 ms 64 bytes from 10.146.0.65: icmp_seq=7 ttl=254 time=0.666 ms ^C --- 10.146.0.65 ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 5998ms rtt min/avg/max/mdev = 0.635/0.777/1.335/0.230 ms george@perseus:~$ Επεξηγήσεις Λαμβάνονται απαντήσεις των 64 byte από τον υπολογιστή με διεύθυνση IP 192.168.1.65 Το icmp_seq=3 δηλώνει το τρίτο πακέτο κ.ο.κ., ttl είναι ο χρόνος ζωής του πακέτου (Time To Live) σε αναπηδήσεις από κόμβο σε κόμβο (hop) και time ο χρόνος από την αποστολή του αιτήματος μέχρι τη λήψη της απάντησης (σε ms) ή αλλιώς χρόνος περιφοράς (round trip time). Τέλος εμφανίζονται τα στατιστικά της ping. Στάλθηκαν 7 πακέτα, λήφθηκαν 7, 0% απώλεια πακέτων, σε συνολική διάρκεια περίπου 6 δευτερολέπτων (5998 ms). Χρόνοι περιφοράς (rtt σε ms): ελάχιστος 0.642, μέγιστος 7.684 με μέση τιμή τα 1.670 και τυπική απόκλιση 2.455 Στο linux (και τα άλλα Λ.Σ. της οικογένειας του unix) η ping <προορισμός>, χωρίς άλλες παραμέτρους και ορίσματα, στέλνει συνεχώς πακέτα μέχρι να διακοπεί από το χρήστη με <Ctrl>+<C> ενώ στα windows μόνο τέσσερα 6 και σταματά. Παράδειγμα χρήσης της ping σε Λ.Σ. windows 6 Για να έχει ίδια συμπεριφορά, όπως στο linux, θα πρέπει να εκτελεστεί ως C:\>ping -t <προορισμός> Δικτύωση με TCP/IP by SV2DOF, Σελ. 14 / 34
C:\>ping 192.168.1.65 Γίνεται Ping στο 192.168.1.65 με 32 bytes δεδομένων: Απάντηση από: 192.168.1.65: bytes=32 χρόνος=518ms TTL=127 Απάντηση από: 192.168.1.65: bytes=32 χρόνος=36ms TTL=127 Απάντηση από: 192.168.1.65: bytes=32 χρόνος=516ms TTL=127 Απάντηση από: 192.168.1.65: bytes=32 χρόνος=15ms TTL=127 Στατιστικά στοιχεία Ping για 192.168.1.65: Πακέτα: Απεσταλμένα = 4, Ληφθέντα = 4, Απολεσθέντα = 0 (απώλεια 0%), Πλήθος διαδρομών αποστολής και επιστροφής κατά προσέγγιση σε χιλιοστά του δευτερ ολέπτου: Ελάχιστο = 15ms, Μέγιστο = 518ms, Μέσος όρος = 271ms C:\> Εφόσον η υπηρεσία DNS είναι ρυθμισμένη και λειτουργεί η ανάλυση ονομάτων, μπορεί ως <προορισμός> να χρησιμοποιηθεί όνομα (FQDN) αντί διευθύνσεως IP, π.χ. george@perseus:~$ /bin/ping www.sch.gr PING www.sch.gr (194.63.238.40) 56(84) bytes of data. 64 bytes from www.sch.gr (194.63.238.40): icmp_seq=1 ttl=49 time=21.6 ms 64 bytes from www.sch.gr (194.63.238.40): icmp_seq=2 ttl=49 time=21.4 ms 64 bytes from www.sch.gr (194.63.238.40): icmp_seq=3 ttl=49 time=21.0 ms ^C --- www.sch.gr ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 21.098/21.413/21.699/0.246 ms george@perseus:~$ ^C george@perseus:~$ Άλλες επιλογές κατά τη χρήση της ping *** Αποστολή μόνο 10 πακέτων μεγέθους 128 byte σε linux george@perseus:~$ /bin/ping -c 10 -s 128 192.168.1.65 Γιατί οι απαντήσεις που παίρνουμε αναφέρουν 136 bytes 136 bytes from 192.168.1.65: icmp_seq=2 ttl=254 time=0.678 ms αντί 128 που ορίσαμε; Συμβουλευτείτε το εγχειρίδιο. και σε windows C:\>ping -n 10 -l 128 192.168.1.65 *** Αποστολή μόνο 2 πακέτων με ttl=7 7 στο www.sch.gr σε linux george@perseus:~$ ping -t 7 -c 2 www.sch.gr PING www.sch.gr (194.63.235.170) 56(84) bytes of data. From sch-ath-2.kolettir.access-link.grnet.gr (62.217.98.115) icmp_seq=1 Time to live exceeded From sch-ath-2.kolettir.access-link.grnet.gr (62.217.98.115) icmp_seq=2 Time to live exceeded --- www.sch.gr ping statistics --- 7 Χρησιμοποιείται για διαγνωστικούς λόγους. Στην ίδια αρχή (διαφορετικό TTL) στηρίζεται η λειτουργία της traceroute Δικτύωση με TCP/IP by SV2DOF, Σελ. 15 / 34
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1001ms george@perseus:~$ και σε windows C:\Windows\System32\drivers\etc>ping -i 7 -n 2 www.sch.gr Εκτελείται η λειτουργία Ping στο www.sch.gr [194.63.235.170] με 32 byte δεδομένω ν: Απάντηση από: 62.217.98.115: Το TTL έληξε κατά τη μεταφορά. Απάντηση από: 62.217.98.115: Το TTL έληξε κατά τη μεταφορά. Στατιστικά στοιχεία Ping για 194.63.235.170: Πακέτα: Απεσταλμένα = 2, Ληφθέντα = 2, Απολεσθέντα = 0 (απώλεια 0%), C:\Windows\System32\drivers\etc> Παρατηρούμε ότι μέχρι τον www.sch.gr [194.63.238.40] μεσολαβούν περισσότεροι από 7 κόμβοιδρομολογητές. Κάθε δρομολογητής που παραλαμβάνει ένα πακέτο μειώνει το TTL κατά ένα και το προωθεί στον επόμενο. Ο δρομολογητής στον οποίο η τιμή TTL μηδενίζεται, απορρίπτει το πακέτο και εάν δεν του έχει οριστεί διαφορετικά, το αναφέρει στον αποστολέα του πακέτου. Η σύνταξη της εντολής διαφοροποιείται σημαντικά μεταξύ linux και windows. Διαφορές, μικρότερες όμως, παρατηρούνται και μεταξύ των διαφόρων Λ.Σ. της οικογένειας του unix όπως και από έκδοση σε έκδοση των windows. Οδηγός για τον χρήστη είναι πάντα η τεκμηρίωση του συστήματος και σε πρώτο βαθμό η ενσωματωμένη βοήθεια. για το linux, το online εγχειρίδιο george@perseus:~$ man ping με την πρώτη σελίδα όπως φαίνεται παρακάτω PING(8) System Manager's Manual: iputils PING(8) NAME ping, ping6 - send ICMP ECHO_REQUEST to network hosts SYNOPSIS ping [-LRUbdfnqrvVaAB] [-c count] [-i interval] [-l preload] [-p pat tern] [-s packetsize] [-t ttl] [-w deadline] [-F flowlabel] [-I inter face] [-M hint] [-Q tos] [-S sndbuf] [-T timestamp option] [-W timeout] [hop...] destination DESCRIPTION ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (``pings'') have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of ``pad'' bytes used to fill out the packet. OPTIONS -a Audible ping. -A Adaptive ping. Interpacket interval adapts to round-trip time, so that effectively not more than one (or more, if preload is Manual page ping(8) line 1 Δικτύωση με TCP/IP by SV2DOF, Σελ. 16 / 34
και για τα windows, η ενσωματωμένη βοήθεια C:\Windows\system32>ping /? όπως φαίνεται στη συνέχεια Χρήση: ping [-t] [-a] [-n πλήθος] [-l μέγεθος] [-f] [-i TTL] [-v TOS] [-r πλήθος] [-s πλήθος] [[-j λίστα-κεντρικών] [-k λίστα-κεντρικών]] [-w όριο_αναμονής] [-R] [-S διεύθ_προέλευσης] [-4] [-6] όνομα_προορισμού Επιλογές: -t Εκτελεί το Ping έως ότου διακοπεί από το χρήστη. Για να δείτε τα στατιστικά στοιχεία και να συνεχίσετε - πιέστε Control-Break. Για να σταματήσετε - πιέστε Control-C. -a Επιλύει τις διευθύνσεις σε ονόματα υπολογιστών. -n πλήθος Πλήθος των αιτήσεων που θα σταλούν. -l μέγεθος Μέγεθος buffer αποστολής. -f Αποτρέπει τη διαίρεση (fragment) του πακέτου (μόνο IPv4). -i TTL Διάρκεια ζωής (Time To Live). -v TOS Τύπος υπηρεσίας (Type Of Service) (μόνο IPv4. Αυτή η ρύθμιση έχει καταργηθεί και δεν έχει καμία επίδραση στον τύπο type of service field in the IP Header). -r πλήθος Καταγραφή διαδρομής για το πλήθος των αναπηδήσεων (μόνο IPv4). -s πλήθος Σήμανση χρόνου για το πλήθος των αναπηδήσεων (μόνο IPv4). -j λίστα-κεντρικών Ελεύθερη διαδρομή προέλευσης μέσα από τη λίστα-κεντρικών (μόνο IPv4). -k λίστα-κεντρικών Αυστηρή διαδρομή προέλευσης μέσα από τη λίστα-κεντρικών (μόνο IPv4). -w όριο_αναμονής Χρονικό όριο αναμονής για κάθε απάντηση σε χιλιοστά δευτερολέπτου. -R Χρήση κεφαλίδας δρομολόγησης για δοκιμή και της αντίστροφης διαδρομής (μόνο IPv6). -S διεύθ_προέλευσης Διεύθυνση προέλευσης για χρήση. -4 Υποχρεωτική χρήση IPv4. -6 Υποχρεωτική χρήση IPv6. C:\Windows\system32> Δικτύωση με TCP/IP by SV2DOF, Σελ. 17 / 34
traceroute 8 Η traceroute (tracert στα windows) δέχεται ως όρισμα τη διεύθυνση ή το όνομα ενός υπολογιστή και εμφανίζει τη διαδρομή (αλληλουχία κόμβων) μέχρι τον υπολογιστή προορισμού. Στηρίζει τη λειτουργία της στην αποστολή διαδοχικών πακέτων αυξανόμενου χρόνου ζωής από ttl=1, ttl=2,... μέχρι max σε linux george@perseus:~$ traceroute www.sch.gr traceroute to www.sch.gr (194.63.235.170), 30 hops max, 60 byte packets 1 10.146.0.1 (10.146.0.1) 0.504 ms 0.753 ms 0.989 ms 2 * * * 3 distr-kln-01g0-3-0-15.forthnet.gr (212.251.94.210) 193.944 ms 194.665 ms 195.123 ms 4 core-kln-12be2.forthnet.gr (213.16.247.13) 197.845 ms 200.211 ms 200.416 ms 5 grnet.gr-ix.gr (176.126.38.1) 198.204 ms 199.609 ms 200.634 ms 6 kolettir-eier-2.backbone.grnet.gr (62.217.100.66) 201.824 ms 42.126 ms kolettir-eier-1.backbone.grnet.gr (62.217.100.62) 42.929 ms 7 sch-ath-2.kolettir.access-link.grnet.gr (62.217.98.115) 45.121 ms 45.515 ms 46.208 ms 8 sch-ath-2.kolettir.access-link.grnet.gr (62.217.98.115) 49.593 ms!x * * george@perseus:~$ και σε windows C:\Windows\system32>tracert www.raag.org Παρακολούθηση της διαδρομής προς: quad-web.lighthouse.gr [69.10.157.105] με μέγιστο πλήθος αναπηδήσεων 30: 1 <1 ms <1 ms <1 ms 10.146.0.1 2 * * * Εξαντλήθηκε το χρονικό όριο της αίτησης. 3 52 ms 43 ms 41 ms distr-kln-01g0-3-0-15.forthnet.gr [212.251.94.21 0] 4 43 ms 42 ms 44 ms core-kln-12be2.forthnet.gr [213.16.247.13] 5 213 ms 231 ms 216 ms rc2ec.il.shawcable.net [80.249.208.148] 6 207 ms 206 ms 207 ms rc1eqn-be5.uk.shawcable.net [66.163.78.157] 7 246 ms 210 ms 275 ms rc3sc-tge0-10-0-12.wp.shawcable.net [66.163.78.1 45] 8 212 ms 235 ms 209 ms ra1fs-tge1-3.mt.shawcable.net [66.163.66.34] 9 207 ms 241 ms 201 ms rx0sh-terago.mt.bigpipeinc.com [66.244.223.206] 10 200 ms 342 ms 200 ms static-67-226-181-17.ptr.terago.net [67.226.181. 17] 11 200 ms 258 ms 201 ms static-68-179-115-233.ptr.terago.net [68.179.115.233] 12 423 ms 253 ms 261 ms 64.46.32.174 13 399 ms 250 ms 288 ms cr1-1-16.kel2.rackforce.net [64.46.40.22] 14 322 ms 257 ms 257 ms cr1-1-1.kel1.rackforce.net [69.10.153.109] 15 258 ms 309 ms 258 ms quad.lighthouse.gr [69.10.157.105] Η παρακολούθηση ολοκληρώθηκε. C:\Windows\system32> Παρατηρήσεις 30 hops max, σημαίνει ότι θα γίνει προσπάθεια να διερευνηθεί η διαδρομή μέχρι τον υπολογιστή 8 Στο Ubuntu δεν είναι προεγκατεστημένη. Εγκαθίσταται εκ των υστέρων με sudo apt-get install traceroute Δικτύωση με TCP/IP by SV2DOF, Σελ. 18 / 34
προορισμού υπό την προϋπόθεση ότι αυτός βρίσκεται το πολύ 30 κόμβους (αναπηδήσεις/άλματα-hops) μακριά. Εάν βρίσκεται μακρύτερα θα πρέπει να προσδιοριστεί μεγαλύτερο TTL με την παράμετρο -m π.χ george@perseus:~$ traceroute -m 60 www.sch.gr Η εκτύπωση αστερίσκων δηλώνει ότι ο συγκεκριμένος κόμβος δεν ενημερώνει τον αποστολέα για πακέτα των οποίων ο χρόνος ζωής (TTL) έχει μηδενιστεί (ICMP TIME_EXCEEDED) ή ότι βρίσκεται πίσω από τείχος προστασίας (firewall) που κόβει το ICMP echo request/reply. Σ' αυτές τις περιπτώσεις μπορεί να ακολουθηθούν εναλλακτικοί τρόποι διερεύνησης της διαδρομής όπως χρήση TCP ή UDP (προσδιορίζοντας και τον αριθμό θύρας) αντί του ICMP π.χ. george@perseus:~$ sudo traceroute -T -p 80 www.sch.gr ή χρήση της ping -R <προορισμός> λαμβάνοντας υπόψη ότι στην τελευταία περίπτωση υπάρχει περιορισμός στο μήκος διαδρομής στις εννιά αναπηδήσεις. george@perseus:~$ ping -R -c 1 www.sch.gr Αρκετές επιλογές της traceroute απαιτούν διαχειριστικά δικαιώματα και γιαυτό ορισμένες διανομές, όπως το Ubuntu, έχουν ως προεπιλογή στη θέση της, την tracepath. pathping. Η tracert στα windows είναι απλή στη σύνταξή της και φτωχή στις επιλογές. Εναλλακτικά διατίθεται η Δικτύωση με TCP/IP by SV2DOF, Σελ. 19 / 34
nslookup Η nslookup είναι ένα πρόγραμμα-εντολή που χρησιμοποιείται για την υποβολή ερωτημάτων στους διακομιστές της υπηρεσίας ονοματοδοσίας περιοχών (Domain Name servers) του Internet. Με την nslookup, ερωτάται ο διακομιστής DNS ο οποίος έχει οριστεί (με τις ρυθμίσεις) να εξυπηρετεί τον υπολογιστή μας, για το ποια είναι η διεύθυνση IP που αντιστοιχεί στο όνομα του υπολογιστή (FQDN) που μας ενδιαφέρει. Με την nslookup διαπιστώνεται η σωστή ρύθμιση (DNS servers) και καλή λειτουργία της υπηρεσίας ανάλυσης ονομάτων. Η πιο συνηθισμένη χρήση της είναι σε interactive mode (αλληλεπιδραστικός τρόπος) πληκτρολογώντας το όνομά της χωρίς ορίσματα. Στη συνέχεια δίνουμε το όνομα του υπολογιστή του οποίου τη διεύθυνση IP ζητάμε, μας επιστρέφει τη ζητούμενη IP και είναι σε ετοιμότητα για νέο ερώτημα. Η εκτέλεσή της σταματά πληκτρολογώντας τη λέξη exit. π.χ ζητάμε τη διεύθυνση IP του υπολογιστή www.sch.gr george@perseus:~$ nslookup > www.sch.gr Server: 193.92.150.3 Address: 193.92.150.3#53 Non-authoritative answer: Name: www.sch.gr Address: 194.63.235.170 > > exit george@perseus:~$ Μας απαντά ο διακομιστής DNS 193.92.150.3 με ερώτημα που του απευθύνθηκε στη θύρα 53 ότι η διεύθυνση IP του υπολογιστή www.sch.gr είναι 194.63.235.170 Η παρατήρηση Non-authoritative answer σημαίνει ότι ο διακομιστής DNS που ρωτήθηκε (αυτός του παρόχου μας) δεν είναι υπεύθυνος για την περιοχή (domain) sch.gr κι ως εκ τούτου η απάντησή του δεν είναι επίσημη/αυθεντική αλλά τη γνωρίζει έμμεσα μέσω τρίτων. Με το ερώτημα nslookup -querytype=ns sch.gr μπορούμε να πληροφορηθούμε τον επίσημο ( authoritative) διακομιστή DNS (NS) της περιοχής sch.gr και να υποβάλλουμε απευθείας σ' αυτόν το ερώτημα. george@perseus:~$ nslookup -querytype=ns sch.gr Server: 193.92.150.3 Address: 193.92.150.3#53 Non-authoritative answer: sch.gr nameserver = sns1.grnet.gr. sch.gr nameserver = sns0.grnet.gr. sch.gr nameserver = nic.att.sch.gr. sch.gr nameserver = nic.sch.gr. sch.gr nameserver = nic.thess.sch.gr. Authoritative answers can be found from: sns0.grnet.gr internet address = 83.212.5.18 sns1.grnet.gr internet address = 83.212.5.22 george@perseus:~$ Δικτύωση με TCP/IP by SV2DOF, Σελ. 20 / 34
επιλέγουμε τον sns0.grnet.gr και τον ρωτάμε george@perseus:~$ nslookup www.sch.gr sns0.grnet.gr Server: sns0.grnet.gr Address: 83.212.5.18#53 Name: www.sch.gr Address: 194.63.235.170 george@perseus:~$ Αυτή τη φορά δεν υπάρχει η παρατήρηση Non-authoritative answer που σημαίνει ότι η απάντησή που παίρνουμε είναι επίσημη. Παράδειγμα εκτέλεσης της nslookup σε σύστημα windows (XP / 7) C:\Windows\system32>nslookup Προεπιλεγμένος διακομιστής: google-public-dns-a.google.com Address: 8.8.8.8 > www.sch.gr Διακομιστής: google-public-dns-a.google.com Address: 8.8.8.8 Απόκριση από αναξιόπιστο διακομιστή: Όνομα: www.sch.gr Address: 194.63.235.170 > exit C:\Windows\system32> Εναλλακτικά της nslookup, σε συστήματα της οικογένειας του unix, υπάρχει και η dig (domain information groper) με καλύτερη λειτουργικότητα, μεγαλύτερη ευελιξία και δυνατότητα εκτέλεσης σε batch mode. Προτιμάται από τους διαχειριστές διακομιστών DNS. Δικτύωση με TCP/IP by SV2DOF, Σελ. 21 / 34
route Χρησιμοποιείται για την εμφάνιση και διαχείριση του πίνακα δρομολόγησης σε έναν υπολογιστή και κυρίως για τον ορισμό στατικών δρομολογίων προς συγκεκριμένα δίκτυα και υπολογιστές μέσω μιας δικτυακής διασύνδεσης (κάρτας δικτύου) αμέσως μετά τη ρύθμιση και ενεργοποίησή της. Στο linux, χωρίς όρισμα, εμφανίζει τον πίνακα δρομολόγησης. george@perseus:~$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 1 0 0 eth0 192.168.11.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 george@perseus:~$ Ανάλογα με το δίκτυο προορισμού (Destination) χρησιμοποιείται η αντίστοιχη δικτυακή διασύνδεση (Iface) και μάσκα δικτύου (Genmask). U σημαίνει ότι η διαδρομή είναι ενεργή (UP), G ότι γίνεται χρήση της πύλης (Gateway) και Metric είναι το κόστος απόστασης προς τον προορισμό για τον υπολογισμό των δρομολογίων από τα πρωτόκολλα δρομολόγησης. Προεπιλεγμένη Πύλη (default gateway) είναι η 192.168.1.1 Στα windows η εμφάνιση του πίνακα δρομολόγησης γίνεται με τη συνοδεία της διαταγής PRINT. π.χ. σε windows 7 ultimate C:\>route PRINT -4 =========================================================================== Λίστα διασυνδέσεων 11...08 00 27 18 82 96...Προσαρμογέας Intel(R) PRO/1000 MT Desktop 1...Software Loopback Interface 1 12...00 00 00 00 00 00 00 e0 Προσαρμογέας Microsoft ISATAP 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface =========================================================================== IPv4 Πίνακας διαδρομών =========================================================================== Ενεργές διαδρομές: Διεύθυνση δικτύου Μάσκα δικτύου Πύλη Διασύνδεση Μέτρο 0.0.0.0 0.0.0.0 10.0.2.2 10.0.2.15 10 10.0.2.0 255.255.255.0 Με σύνδεση 10.0.2.15 266 10.0.2.15 255.255.255.255 Με σύνδεση 10.0.2.15 266 10.0.2.255 255.255.255.255 Με σύνδεση 10.0.2.15 266 127.0.0.0 255.0.0.0 Με σύνδεση 127.0.0.1 306 127.0.0.1 255.255.255.255 Με σύνδεση 127.0.0.1 306 127.255.255.255 255.255.255.255 Με σύνδεση 127.0.0.1 306 224.0.0.0 240.0.0.0 Με σύνδεση 127.0.0.1 306 224.0.0.0 240.0.0.0 Με σύνδεση 10.0.2.15 266 255.255.255.255 255.255.255.255 Με σύνδεση 127.0.0.1 306 255.255.255.255 255.255.255.255 Με σύνδεση 10.0.2.15 266 =========================================================================== Συνεχείς διαδρομές: Καμία C:\> Παρατήρηση Επειδή στα Windows 7 ultimate υποστηρίζεται εγγενώς το IPv6, με την παράμετρο -4 δηλώνουμε ότι ζητάμε την εμφάνιση του πίνακα δρομολόγησης του IPv4. Η παράμετρος αυτή είναι άγνωστη στα XP στα Δικτύωση με TCP/IP by SV2DOF, Σελ. 22 / 34
οποία η ίδια εντολή δίνεται ως C:\>route PRINT Για τη διαχείριση του πίνακα δρομολόγησης απαιτούνται δικαιώματα διαχειριστή *** Διαγραφή της προεπιλεγμένης πύλης george@perseus:~$ route del default SIOCDELRT: Operation not permitted george@perseus:~$ sudo route del default [sudo] password for george: george@perseus:~$ *** Προσθήκη προεπιλεγμένης πύλης george@perseus:~$ sudo route add default gateway 192.168.1.1 netstat Η netstat είναι ένα χρήσιμο εργαλείο ελέγχου της δικτυακής δραστηριότητας σε έναν υπολογιστή και όχι μόνο. Μπορεί να εμφανίσει την κατάσταση των συνδέσεων (sockets) τοπικών ή διαδικτυακών, τους πίνακες δρομολόγησης (netstat -r) και άλλα ενδιαφέροντα στατιστικά στοιχεία για τις δικτυακές διασυνδέσεις (network interfaces). Εκτελούμενη χωρίς ορίσματα σε ένα σύστημα unix, με ιδιαίτερη δικτυακή δραστηριότητα, εμφανίζει μια πληθώρα πληροφοριών που μπορεί να τρομάξουν τον απλό χρήστη. Το παρακάτω είναι απόσπασμα από τις 684 γραμμές αποτελεσμάτων της εκτέλεσή της σε ένα σύστημα linux στο οποίο υπάρχει γραφικό περιβάλλον με αρκετές ανοιχτές εφαρμογές και έναν torrent client με αρκετά sockets ενεργά. george@perseus:~$ /bin/netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 69 perseus.local:45114 pool-96-247-199-1:51413 LAST_ACK tcp 0 0 perseus.local:52642 dsl-hkibrasgw3-ffd:6881 TIME_WAIT tcp 0 102 perseus.local:36240 cpe-24-24-72-26.st:1134 LAST_ACK. tcp 0 197 perseus.local:49738 bl9-99-60.dsl.tel:49040 FIN_WAIT1. tcp 0 102 perseus.local:42279 d154-5-38-150.bch:34793 ESTABLISHED. udp 0 0 perseus.local:42707 calchas.forthnet:domain ESTABLISHED Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ] DGRAM 3383 @/org/kernel/udev/udevd unix 16 [ ] DGRAM 4976 /dev/log unix 2 [ ] DGRAM 5545 @/org/freedesktop/hal/udev_event unix 2 [ ] STREAM CONNECTED 7469631 Δικτύωση με TCP/IP by SV2DOF, Σελ. 23 / 34
... unix 3 [ ] STREAM CONNECTED 3367 @/com/ubuntu/upstart unix 3 [ ] STREAM CONNECTED 3364 george@perseus:~$ Στην 1η στήλη (Proto) αναφέρεται το πρωτόκολλο, στην 4η και 5η η διεύθυνση και θύρα αφετηρίας και προορισμού και στην 6η (State) η κατάσταση της σύνδεσης (socket). Συνήθως συνδυάζεται με αρκετές παραμέτρους για την εμφάνιση πιο συγκεκριμένων πληροφοριών καθώς και με άλλα εργαλεία της γραμμής εντολών για την εξαγωγή συμπερασμάτων. π.χ. εμφάνιση όλων των συνδέσεων (σε ακρόαση ή όχι) -a, χωρίς ανάλυση ονομάτων διευθύνσεων και θυρών -n, πρωτοκόλλου tcp -t george@perseus:~$ netstat -ant εμφάνιση μόνο των συνδέσεων στην θύρα 80 του πρωτοκόλλου tcp (συνδέσεις σε διακομιστές web) george@perseus:~$ netstat -ant grep \:80 και πιο προχωρημένα, εμφάνιση του αριθμού των συνδέσεων στην θύρα 80 του πρωτοκόλλου tcp ανά κατάσταση σύνδεσης. (μέτρηση των μοναδικών γραμμών 6ης στήλης ταξινομημένων και μετρημένων) george@perseus:~$ netstat -ant grep \:80 awk '{print $6}' sort uniq -c sort -n 1 FIN_WAIT1 7 TIME_WAIT 30 ESTABLISHED george@perseus:~$ Παρόμοια είναι η χρήση της netstat και στα windows, ωστόσο για ορισμένες επιλογές πρέπει να αλλάξετε τις ρυθμίσεις του User Account Control (UAC) στα vista και στα 7. Παρακάτω φαίνεται η χρήση της netstat σε windows 7 ultimate με την επιλογή εμφάνισης του PID (ταυτότητα διαδικασίας) του προγράμματος που χρησιμοποιεί τη συγκεκριμένη σύνδεση (socket). Σε συνδυασμό με την tasklist μπορεί να αναγνωριστεί το πρόγραμμα που χρησιμοποιεί το συγκεκριμένο socket. π.χ. για τη σύνδεση TCP από τον τοπικό υπολογιστή, θύρα 49201, στον 194.177.211.22, θύρα 80, υπεύθυνη είναι η διαδικασία με PID 328 και πρόκειται για το πρόγραμμα firefox.exe δηλαδή το γνωστό πρόγραμμα πλοήγησης στο Internet, Firefox. C:\>netstat -ano Ενεργές συνδέσεις Πρωτ. Τοπική διεύθυνση Εξωτερική διεύθυνση Κατάσταση PID TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 692 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4. TCP 10.0.2.15:49171 209.85.129.147:80 ESTABLISHED 328 TCP 10.0.2.15:49179 217.163.21.35:80 TIME_WAIT 0 TCP 10.0.2.15:49201 194.177.211.22:80 ESTABLISHED 328. UDP [::1]:1900 *:* 1344 UDP [::1]:52628 *:* 1344 UDP [fe80::e9cd:db8c:9f1d:480f%11]:1900 *:* Δικτύωση με TCP/IP by SV2DOF, Σελ. 24 / 34
1344 UDP [fe80::e9cd:db8c:9f1d:480f%11]:52627 *:* 1344 C:\>tasklist /svc Όνομα εικόνας PΙD Υπηρεσίες ========================= ======== ============================================ System Idle Process 0 Δ/Υ System 4 Δ/Υ smss.exe 268 Δ/Υ csrss.exe 344 Δ/Υ wininit.exe 380 Δ/Υ. svchost.exe 1344 FDResPub, SSDPSRV taskhost.exe 1888 Δ/Υ taskeng.exe 1928 Δ/Υ. firefox.exe 328 Δ/Υ wmpnetwk.exe 828 WMPNetworkSvc. tasklist.exe 2772 Δ/Υ WmiPrvSE.exe 2832 Δ/Υ C:\> Με αυτόν τον τρόπο ο προσεκτικός διαχειριστής μπορεί να ελέγξει ύποπτη δικτυακή δραστηριότητα (spyware κ.τ.λ.) και να πράξει αναλόγως. Δικτύωση με TCP/IP by SV2DOF, Σελ. 25 / 34
Η γραμμή εντολών στην υπηρεσία του διαχειριστή δικτύων Στο linux υπάρχει μια μεγάλη ποικιλία εντολών/διαταγών και βοηθητικών προγραμμάτων προσανατολισμένων στη δικτύωση. Παράδειγμα η εντολή ip η οποία μπορεί να δείξει και να τροποποιήσει πάρα πολλές δικτυακές παραμέτρους. Για την αλλαγή κρίσιμων παραμέτρων απαιτεί διαχειριστικά δικαιώματα. Παράδειγμα χρήσης της ip για εμφάνιση στατιστικών των συνδέσεων (lo και eth0) george@perseus:~$ ip -s link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 1142647 21374 0 0 0 0 TX: bytes packets errors dropped carrier collsns 1142647 21374 0 0 0 0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:19:d1:60:cb:f8 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 3951403413 14234673 0 0 0 160887 TX: bytes packets errors dropped carrier collsns 7200833562 17708401 0 0 0 0 george@perseus:~$ Στα Windows, αποκλειστικά για την δικτύωση, υπάρχει ένα περιβάλλον γραμμής εντολών το netsh. Το netsh είναι ένα πανίσχυρο εργαλείο γραμμής εντολών και επιτρέπει την εμφάνιση αλλά και αλλαγή των ρυθμίσεων για το TCP/IP, το τείχος προστασίας, κ.ά. Επίσης επιτρέπει την εκτέλεση των εντολών του μέσα από σενάρια εντολών (scripts και batch files) για την αυτοματοποίηση ρυθμίσεων, μαζικά, σε υπολογιστές. Παρακάτω φαίνεται μια σύνοψη των εντολών που υποστηρίζει το netsh C:\Windows\system32>netsh netsh>? Είναι διαθέσιμες οι παρακάτω εντολές: Εντολές σε αυτό το περιβάλλον:.. - Εμφανίζει το επόμενο επίπεδο περιβάλλοντος.? - Εμφανίζει μια λίστα εντολών. abort - Απορρίπτει αλλαγές που έγιναν σε λειτουργία χωρίς σύνδεση. add - Προσθέτει καταχώρηση ρύθμ. παραμέτρων σε λίστα καταχωρήσεων. advfirewall - Μετάβαση στο περιεχόμενο "netsh advfirewall". alias - Προσθέτει ένα ψευδώνυμο. branchcache - Μετάβαση στο περιεχόμενο "netsh branchcache". bridge - Μετάβαση στο περιεχόμενο "netsh bridge". bye - Τερματίζει τη λειτουργία του προγράμματος. commit - Πραγματοποιεί αλλαγές που έγιναν κατά τη λειτ. χωρίς σύνδεση. delete - Διαγράφει καταχώρηση ρύθμ. παραμέτρων από λίστα καταχωρήσεων. dhcpclient - Μετάβαση στο περιεχόμενο "netsh dhcpclient". dnsclient - Μετάβαση στο περιεχόμενο "netsh dnsclient". dump - Εμφανίζει μια δέσμη ενεργειών ρύθμισης παραμέτρων. exec - Εκτελεί ένα αρχείο δέσμης ενεργειών. exit - Τερματίζει τη λειτουργία του προγράμματος. firewall - Μετάβαση στο περιεχόμενο "netsh firewall". help - Εμφανίζει μια λίστα εντολών. Δικτύωση με TCP/IP by SV2DOF, Σελ. 26 / 34
http interface ipsec lan mbn namespace nap netio offline online p2p popd pushd quit ras rpc set show trace unalias wcn wfp winhttp winsock wlan - Μετάβαση στο περιεχόμενο "netsh http". - Μετάβαση στο περιεχόμενο "netsh interface". - Μετάβαση στο περιεχόμενο "netsh ipsec". - Μετάβαση στο περιεχόμενο "netsh lan". - Μετάβαση στο περιεχόμενο "netsh mbn". - Μετάβαση στο περιεχόμενο "netsh namespace". - Μετάβαση στο περιεχόμενο "netsh nap". - Μετάβαση στο περιεχόμενο "netsh netio". - Καθορίζει την τρέχουσα κατάσταση λειτουργίας ως χωρίς σύνδεση. - Καθορίζει την τρέχουσα κατάσταση λειτουργίας ως συνδεδεμένη. - Μετάβαση στο περιεχόμενο "netsh p2p". - Ανακτά ένα περιβάλλον από τη στοίβα. - Προωθεί το τρέχον περιβάλλον στη στοίβα. - Τερματίζει τη λειτουργία του προγράμματος. - Μετάβαση στο περιεχόμενο "netsh ras". - Μετάβαση στο περιεχόμενο "netsh rpc". - Ενημερώνει τις ρυθμίσεις ομάδας παραμέτρων. - Εμφανίζει πληροφορίες. - Μετάβαση στο περιεχόμενο "netsh trace". - Διαγράφει ένα ψευδώνυμο. - Μετάβαση στο περιεχόμενο "netsh wcn". - Μετάβαση στο περιεχόμενο "netsh wfp". - Μετάβαση στο περιεχόμενο "netsh winhttp". - Μετάβαση στο περιεχόμενο "netsh winsock". - Μετάβαση στο περιεχόμενο "netsh wlan". Τα παρακάτω δευτερεύοντα περιβάλλοντα είναι διαθέσιμα: advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ips ec lan mbn namespace nap netio p2p ras rpc trace wcn wfp winhttp winsock wlan Για να δείτε τη βοήθεια για μια εντολή, πληκτρολογήστε την εντολή, ακολουθούμενη από ένα διάστημα και κατόπιν πληκτρολογήστε?. netsh>... και η εμφάνιση των ρυθμίσεων του πρωτοκόλλου ipv4 C:\Windows\system32>netsh netsh>... netsh>interface ipv4 netsh interface ipv4>show config Ρύθμιση παραμέτρων για τη διασύνδεση "Local Area Connection" Ενεργοποίηση DHCP: Όχι Διεύθυνση IP: 10.146.0.251 Πρόθημα υποδικτύου: 10.146.0.0/16 (μάσκα 255.255.0.0) Προεπιλεγμένη πύλη: 10.146.0.1 Μετρικό πύλης: 1 InterfaceMetric: 10 Διακομιστές DNS με στατικές ρυθμίσεις: Κανένας Δήλωση με ποιο επίθημα: Μόνο πρωτεύον Διακομιστές WINS με στατικές ρυθμίσεις: Κανένας Ρύθμιση παραμέτρων για τη διασύνδεση "Loopback Pseudo-Interface 1" Ενεργοποίηση DHCP: Όχι Διεύθυνση IP: 127.0.0.1 Πρόθημα υποδικτύου: 127.0.0.0/8 (μάσκα 255.0.0.0) InterfaceMetric: 50 Διακομιστές DNS με στατικές ρυθμίσεις: Κανένας Δικτύωση με TCP/IP by SV2DOF, Σελ. 27 / 34
Δήλωση με ποιο επίθημα: Καθόλου Διακομιστές WINS με στατικές ρυθμίσεις: Κανένας netsh interface ipv4> Ασκήσεις (.. συνέχεια) 3. Ελέγξτε τη συνδεσιμότητα του υπολογιστή στον οποίο εργάζεστε με τον διακομιστή του εργαστηρίου κάνοντας χρήση της εντολής ping. Δοκιμάστε να στείλετε 15 πακέτα με τιμή στο πεδίο TTL=128. Μελετήστε τα συγκεντρωτικά στατιστικά που σας επιστρέφει. Δοκιμάστε να κάνετε ping σε προορισμούς έξω από το δίκτυο του σχολείου σας και συγκρίνετε τους χρόνους. Άν αυτό δεν είναι εφικτό αναζητήστε λογική εξήγηση γιατί δεν είναι εφικτό. Συζητήστε γιατί είναι κρίσιμοι οι μικροί χρόνοι ping σε online παιχνίδια και γιατί αυτό αποτελεί βασικό κριτήριο για την επιλογή παρόχου (ISP) από τους φανατικούς gamers. 4. Ιχνηλατήστε με την traceroute τη διαδρομή που ακολουθούν τα πακέτα σας προς κάποιο συγκεκριμένο προορισμό. Καταγράψτε την. Επαναλάβετε το ίδιο σε άλλη χρονική στιγμή (ακόμη και άλλη μέρα ή από το σπίτι σας). Συγκρίνετε τις διαδρομές. Δοκιμάστε να βρείτε τη διεύθυνση IPv4 του www.sch.gr και του ftp.ntua.gr. Απ' ό,τι φαίνεται το ftp είναι ψευδώνυμο. Ποιο είναι το πραγματικό όνομα του διακομιστή ftp.ntua.gr; 5. Εμφανίστε τον πίνακα ARP του υπολογιστή στον οποίο εργάζεστε. Σε ποια περίπτωση μπορεί να είναι κενός; Βρείτε τη φυσική διεύθυνση του υπολογιστή σας αλλά και του διακομιστή του εργαστηρίου. Μπορούν να βρεθούν με τον ίδιο τρόπο; 6. Εφόσον εργάζεστε σε υπολογιστή του οποίου το Λ.Σ. υποστηρίζει IPv6 βρείτε τη διεύθυνση IPv6 που έχει (ipconfig /all, ifconfig ή οποιαδήποτε άλλη εναλλακτική μέθοδος) και δείτε ποιοι άλλοι γειτονικοί υπολογιστές υπάρχουν. Στο IPv4 αυτό το κάνει το ARP. Στο IPv6 λέγεται Neighbor Discovery. Ανάλογα με το Λ.Σ. του υπολογιστή σας, δοκιμάστε το netsh (windows) ή ip (linux) και συζητήστε τα αποτελέσματα. Εφόσον ο υπολογιστής σας έχει τοπική διεύθυνση ζεύξης αποκλειστικής διανομής (Link Local Unicast) επαληθεύστε τα τμήματά της (prefix fe80::/64 και interface ID EUI-64 σε linux ή τυχαίο interface ID σε windows). Εάν δεν έχει, γράψτε την εσείς πως έπρεπε να είναι ακολουθώντας την τυποποίηση EUI-64.. (Υπόδειξη: Εμφάνιση αποτελεσμάτων Neighbor Discovery σε linux: ip -6 neigh show και σε windows: netsh interface ipv6 show neighbors) 7. Εμφανίστε τον πίνακα δρομολόγησης του υπολογιστή σας και εντοπίστε από τις καταχωρίσεις του ποια είναι η προεπιλεγμένη πύλη. 8. Εάν σας επιτρέπει ο υπεύθυνος εργαστηρίου, υπό την εποπτεία του, ή έχετε πρόσβαση σε παλιό λειτουργικό εξοπλισμό (4-8 υπολογιστές, hub/switch, απαραίτητα καλώδια), συνθέστε ένα μικρό τοπικό δίκτυο κλάσης C κάνοντας τις απαραίτητες συνδέσεις και ρυθμίσεις. Ελέγξτε την Δικτύωση με TCP/IP by SV2DOF, Σελ. 28 / 34
επικοινωνία μεταξύ των υπολογιστών με την ping. Αφού εξασφαλίσετε και επιβεβαιώσετε την επικοινωνία όλων με όλους, υποδικτυώστε το σε δύο ή τέσσερα υποδίκτυα. Με τις νέες ρυθμίσεις, επιβεβαιώστε ότι στα ping απαντούν μόνο υπολογιστές του ίδιου υποδικτύου και είναι αδύνατον να επικοινωνήσουν με υπολογιστές άλλων υποδικτύων. Δικτύωση με TCP/IP by SV2DOF, Σελ. 29 / 34
Οι σελίδες του εγχειριδίου (man pages) του unix... φυσικά Με μια πληθώρα εντολών-διαταγών, κλήσεων συστήματος, συναρτήσεων κ.τ.λ. είναι φυσικό ο χρήστης (ακόμη κι ο root) να μη θυμάται, πλην των συχνά χρησιμοποιούμενων, πώς ακριβώς συντάσσεται η εντολή που πρόκειται να χρησιμοποιήσει, τί ορίσματα και παραμέτρους δέχεται, ποιά αρχεία χρησιμοποιεί ή επηρεάζει κ.α. Ευτυχώς έχει στη διάθεσή του, ανά πάσα στιγμή, την ενσωματωμένη βοήθεια του Λ.Σ. και στην περίπτωση του unix (linux, FreeBSD, Mac OS X, Solaris,...) είναι το εγχειρίδιο και οι σελίδες του (manual pages) Καλείται ως $ man Όνομα_εντολής Οι σελίδες έχουν τυποποιημένη δομή και περιλαμβάνουν τουλάχιστον τα τμήματα NAME Το όνομα της εντολής και μια περιγραφή της σε μια γραμμή SYNOPSIS Μια τυπική περιγραφή του τρόπου εκτέλεσής της, τα ορίσματα και τις παραμέτρους που δέχεται DESCRIPTION Αναλυτική περιγραφή της λειτουργίας της EXAMPLES Παραδείγματα συνήθους χρήσης της SEE ALSO Μια λίστα από σχετικές εντολές Πλοήγηση στις σελίδες του εγχειριδίου space επόμενη σελίδα /κείμενο αναζήτηση προς τα μπρος b προηγούμενη σελίδα?κείμενο αναζήτηση προς τα πίσω q έξοδος n επανάληψη αναζήτησης προς τα μπρος κάτω_βέλος ή j μια γραμμή παρακάτω N επανάληψη αναζήτησης προς τα πίσω άνω_βέλος ή k μια γραμμή πίσω h βοήθεια g αρχή κειμένου G τέλος κειμένου Βοήθεια στη γραμμή εντολών των Windows Στα Windows, στη γραμμή εντολών, παρέχεται στοιχειώδης βοήθεια για τις περισσότερες διαθέσιμες εντολές (και ειδικά τις εντολές δικτύωσης TCP/IP που προαναφέρθηκαν) πληκτρολογώντας το όνομα της εντολής ακολουθούμενο από πλάγια κάθετο (slash) και ερωτηματικό. C:\>Όνομα_εντολής /? Για άλλες εντολές παρέχεται βοήθεια με τη χρήση της help C:\>help Όνομα_εντολής ενώ από τα windows 7 υπάρχει διαθέσιμο το Windows PowerShell και το Cmdlet Get-Help που μοιάζει με τις man pages του unix. Παρ' όλα αυτά, για τις εντολές δικτύωσης TCP/IP, η βοήθεια παραμένει /? Δικτύωση με TCP/IP by SV2DOF, Σελ. 30 / 34