Page 73 - Linux Inside τ. 9

Basic HTML Version

Linux Inside
73
χουν εκεί, την ταχύτητα της σύνδεσής σας στο Διαδίκτυο κ.ο.κ.
Κατά κανόνα, όμως, η σάρωση μίας σελίδας διαρκεί πολλή
ώρα, γιατί εξ ορισμού το πρόγραμμα εκτελεί αναδρομική σάρωση
χωρίς όριο. Π.χ., δοκιμάζοντας το LinkChecker με το iefimerida.gr,
το πρόγραμμα ανέφερε ότι βρήκε πάνω από 10.000 συνδέσμους
(εικόνα 1)
και άρχισε να τους δοκιμάζει. Μετά από μισή ωρίτσα
συνέχιζε τον έλεγχο, οπότε το σταμάτησα, καθώς η εργασία αυτή
θα έπαιρνε ώρες.
Πάντως, κάνοντας κλικ σε ένα αποτέλεσμα, το LinkChecker εμ-
φανίζει περισσότερες πληροφορίες γι' αυτό
(εικόνα 2)
, όπως
ποιο είναι το γονικό URL (πού βρέθηκε, δηλαδή, ο σύνδεσμος),
πόση ώρα έκανε να κατέβει, ποιο είναι το μέγεθός του, καθώς και
ποιο είναι το τεχνικό αποτέλεσμα. Το αποτέλεσμα μπορεί να είναι
μεταξύ άλλων:
• 301, δηλαδή το περιεχόμενο έχει αλλάξει διεύθυνση,
• 403, δηλαδή απαγόρευση εισόδου,
• 404, δηλαδή «δεν βρέθηκε», που είναι και το χειρότερό μας.
Όταν πατήσετε το κουμπί Stop, το LinkChecker κλείνει τις συνδέ-
σεις και μετά από λίγη ώρα εμφανίζει στο δεξί πλαίσιο τα στατιστι-
κά για την αρχική ιστοσελίδα
(εικόνα 3)
. Εκεί μπορείτε να δείτε
πόσα URLs εντόπισε συνολικά, πόσα από αυτά έλεγξε και φυσικά
πόσα είχαν πρόβλημα. Επιπλέον, εμφανίζει λιγότερο χρήσιμα
στατιστικά, όπως ποιο ήταν το μικρότερο και ποιο ήταν το μεγαλύ-
τερο μήκος μίας διεύθυνσης, σε πόσα διαφορετικά domains ανή-
κουν αυτές οι διευθύνσεις, αλλά και πόσες από αυτές αντιστοι-
χούσαν σε εικόνες, πόσες σε κείμενο, πόσες σε ήχο κ.ο.κ. Όλα
αυτά τα αποτελέσματα μπορείτε να τα αποθηκεύσετε με Ctrl+S
σε ένα αρχείο κειμένου ή html.
Στα ενδότερα
Όπως αναφέρθηκε, το LinkChecker είναι ουσιαστικά ένας
προηγμένος Web crawler. Δηλαδή του δίνουμε τη διεύθυνση μίας
ιστοσελίδας και το πρόγραμμα την επισκέπτεται, την κατεβάζει
στη μνήμη, καταγράφει σε μία ουρά όλους τους συνδέσμους που
βρίσκει σε αυτήν και μετά αρχίζει να επισκέπτεται έναν προς έναν
όλους αυτούς τους συνδέσμους, ανεξάρτητα από το αν είναι εσω-
τερικοί (μέσα στο domain) ή εξωτερικοί. Επιπλέον, αν ένας σύνδε-
σμος οδηγεί σε μία σελίδα εκτός του αρχικού domain, το
LinkChecker θα τον ακολουθήσει, θα προσθέσει στην ουρά όσους
συνδέσμους βρει στο άλλο site κ.ο.κ. Δηλαδή αν το αφήσετε, θα
συνεχίζει επ' άπειρον.
Οπότε το πρώτο πράγμα που ίσως θέλετε να κάνετε είναι να
περιορίσετε το επίπεδο της αναδρομικότητας, ώστε το
LinkChecker να ελέγχει μόνο τους συνδέσμους της αρχικής σελί-
δας που του δίνετε και όχι τους συνδέσμους που βρίσκει στις δεύ-
τερες, στις τρίτες κ.λπ. ιστοσελίδες. Αυτό γίνεται από το μενού
Edit>Options. Εκεί αλλάξτε την επιλογή Recursive depth από -1
σε 1. Με αυτόν τον τρόπο, του λέτε να ελέγξει απλώς τους συνδέ-
σμους της αρχικής και να μην κατεβάσει τις αντίστοιχες σελίδες,
για να ελέγξει και τους συνδέσμους που περιέχονται σε αυτές.
Ξανατρέξτε τώρα έναν έλεγχο για μία σελίδα και θα δείτε ότι θα
ολοκληρωθεί στο άψε-σβήσε. Επιπλέον, το πρόγραμμα θα αναφέ-
ρει τον ακριβή αριθμό των συνδέσμων που υπάρχουν στην ιστο-
σελίδα που του δώσατε και μόνο σε αυτήν.
Πολλές συνδέσεις, είπατε;
Τέλος, ένα από τα χαρακτηριστικά του LinkChecker είναι ότι
υποστηρίζει πολυνηματική επεξεργασία. Με απλά λόγια, το
πρόγραμμα δεν σαρώνει την ιστοσελίδα με ένα αίτημα κάθε
φορά, αλλά ανοίγει πολλές συνδέσεις ταυτόχρονα, ώστε να
ελέγχει όχι έναν αλλά πολλούς συνδέσμους ταυτόχρονα για
να κερδίσει χρόνο. Αυτό έχει βέβαια και ένα μειονέκτημα: αν
ο server που φιλοξενεί την ιστοσελίδα είναι ρυθμισμένος με
κάποιο module όπως το mod_evasive (που αποτρέπει πολλές
ταυτόχρονες συνδέσεις για να αποφύγει επιθέσεις DOS), στα
αποτελέσματα θα πάρετε ένα σωρό σφάλματα Error 500
(ει-
κόνα 4)
, που σημαίνει ότι ο server αρνήθηκε να εξυπηρετήσει
τα αιτήματα του LinkChecker. Οπότε, τζίφος...
Linux Labs – LinkChecker
Έλεγχος για ιούς και σωστή HTML
Ένα ενδιαφέρον χαρακτηριστικό του LinkChecker είναι ότι αν το
τρέξετε από τη γραμμή εντολών με την παράμετρο - -scan-virus,
αυτό θα ελέγχει το περιεχόμενο κάθε συνδέσμου για ιούς με το
ClamAV, το οποίο θα πρέπει να έχετε εγκαταστήσει. Παρόμοια, με
την παράμετρο - -check-html το πρόγραμμα ελέγχει τον κώδικα
HTML κάθε ιστοσελίδας για το αν είναι σωστά γραμμένος, χρησι-
μοποιώντας είτε το Tidy (αν το έχετε εγκαταστήσει) είτε με τον
validator του W3C! Ενδιαφέρον, έτσι;
Ο server του linuxinside.gr δεν σηκώνει πολλά αιτήματα
ταυτόχρονα από τον ίδιο πελάτη. Γι' αυτό, έκοψε το Link
Checker και εκεί οφείλονται τα Error 500.
4
Για κάθε «σπασμένο»
σύνδεσμο που βρίσκει,
το LinkChecker αναφέρει
πρόθυμα περισσότερες
πληροφορίες.
2
Μόλις τελειώσετε με τον
έλεγχο ή βαρεθείτε να
περιμένετε και το
σταματήσετε, το
LinkChecker εμφανίζει ένα
κάρο στατιστικά για τους
συνδέσμους που βρήκε στην
ιστοσελίδα.
3