fast and secure web hosting. from a simple website to a highly visited e-shop  

Πώς θα βρω τις IP που συνδέονται στον server μου;

Η παρακάτω εντολή εμφανίζει μια λίστα με τις IP που είναι συνδεδεμένες στον server αγνοώντας το STATE του connection (CLOSE_WAIT, ESTABLISHED, κλπ)
netstat -tn 2>/dev/null
Η -t παράμετρος λέει στην netstat να εμφανίσει μόνο TCP συνδέσεις η -n παράμετρος λέει στην netstat να μην μεταφράσει τις IP σε hostnames ενώ το stderr (2) redirection (>) στα "σκουπίδια" (/dev/null) σημαίνει απλά ότι δεν θέλουμε πιθανά errors να μας χαλάσουν το όμορφο output που προσπαθούμε να φτιάξουμε. Σε αυτό το σημείο έχουμε όλες τις χρήσιμες πληροφορίες, αλλά είναι λίγο δύσχρηστες, θα προσπαθήσουμε να τις φέρουμε σε μια πιο ευανάγνωστη και χρήσιμη μορφή. Κάνοντας pipe (|) στην grep, μπορούμε να κρατήσουμε μόνο τις IP που συνδέονται στην πόρτα 80 του webserver μας.
netstat -tn 2>/dev/null | grep ":80 "
Θα ήταν ωραίο να κρατούσαμε εδώ μόνο το πέμπτο πεδίο έτσι;
netstat -tn 2>/dev/null | grep ":80 " | awk '{print $5}'
Ίσως το πιο tricky σημείο εδώ, θέλουμε να κρατάμε μόνο IPs γι' αυτό χρησιμοποιούμε: cut -d: -f1 Όπου: -d λέει στην cut να χρησιμοποιήσει τον αμέσως επόμενο χαρακτήρα που ακολουθεί σαν "οριοθέτη" (delimiter) -f λέει πόσα πεδία να εκτυπώσει, στην περίπτωσή μας θέλουμε απλά ένα.
netstat -tn 2>/dev/null | grep ":80 " | awk '{print $5}' | cut -d: -f1
Έπειτα βάζοντας sort, ταξινομούμε την λίστα μας, με την uniq -c μετράμε τις μοναδικές εμφανίσεις και μετά μπορούμε να την εμφανίσουμε σε φθίνουσα ταξινόμηση με την sort -nr (numeric και reverse). Είναι στην κρίση μας να βάλουμε και μια head να δούμε τα πρώτα 10 αποτελέσματα μόνο
netstat -tn 2>/dev/null | grep ":80 " | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
Φυσικά αλλάζοντας μόνο στην grep την πόρτα, πχ σε 25, μπορούμε να δούμε αν κάποιος ταλαιπωρεί τον mailserver μας ή σε VPS hosting περιβάλλον μπορεί να γίνει λίγο πιο εύκολος ο εντοπισμός ενός spammer. Όπως επίσης να χρησιμοποιήσουμε στην grep το connection state που μας ενδιαφέρει, να μετρήσουμε τα connections για κάθε process (με την παράμετρο -p στην netstat). Ουσιαστικά πρόκειται για λίγες εντολές που αποτελούν ένα πολύ χρήσιμο εργαλείο για έναν system & network administrator.