זחלן רשת

זחלן רשת, רובוט חיפוש, רובוט רשת או עכביש רשת הוא בוט או תוכנה לסריקת הרשת הכלל עולמית, באופן אוטומטי, שיטתי וסדרתי. אתרים רבים, בייחוד מנועי חיפוש, משתמשים בזחלנים כדי לקבל תמונה עדכנית של הרשת. הזחלן שומר העתק של האתרים כדי שניתן יהיה לעדכן אותם מאוחר יותר באינדקס של מנוע החיפוש ובכך מאפשר למנוע החיפוש מתן תוצאות מהירות. כמו כן, תוכנות זחלן יכולות לאתר קישורים מתים בדפי אינטרנט או לאסוף כתובות דואר אלקטרוני (בדרך כלל לשם משלוח דואר זבל ופרסומים שונים). התהליך אותו עושה התוכנה נקרא "הזדחלות אינטרנטית". בדרך כלל הזחלן מתחיל לסרוק דף מתוך רשימה נתונה של דפים (למשל האינדקס של מנוע החיפוש) ומשם הוא מתקדם באופן רקורסיבי דרך הקישורים בדף, לדפים נוספים.

דרך פעולה
הזחלן מתחיל את פעולתו ברשימת אתרים אותם עליו לבקר, אתרים אלו נקראים בשם "זרעים", כאשר הזחלן מבקר באתרים אלו הוא מזהה את הלינקים שיש בדף אינטרנטי מסוים ומצרף אותם לרשימת האתרים שאותם עליו לבקר. הכמות הרבה של האתרים בהם העכביש מבקר מחייבת את התוכנה לדעת לסדר את האתרים בסדר עדיפויות, אך אין אפשרות לדעת בביטחון כי האתר בו העכביש מבקר לא מבוקר בפעם הראשונה. לכן השגת מידע ראשוני בכל הפעלה של התוכנה היא דבר כמעט בלתי אפשרי. 
התנהגותו של הזחלן היא תוצאה של צירוף מספר קווי מדיניות:
 מדיניות של בחירה אשר מגדירה איזה עמוד להוריד.
 מדיניות של ביקור חוזר אשר מגדירה מתי לבדוק שינויים בדפים.
 מדיניות נימוס אשר מגדירה איך להימנע מעומס יתר של אתרים ולגרום להפלה של השרת.
 מדיניות של הקבלה אשר מגדירה איך לתאם בין הזחלנים השונים.

מדיניות בחירה (סלקציה)
בהינתן הגודל של האינטרנט כיום גם מנועי חיפוש גדולים מכסים בחיפושם חלק קטן מהנתונים. מחקרים הראו כי המידע המתקבל על ידי אתרים אלו עומד על 40%-70% מכלל ההיצע האינטרנטי. מכיוון שהזחלן מוריד רק חלק קטן מדפי האינטרנט, התוצאה הרצויה היא שדפים אלו יכילו בתוכם את המידע הרלוונטי ביותר ולא רק דגימה מקרית.

ניתן להגיד כי צורך חשוב ביותר כאשר מפעילים זחלן הוא הצורך בסידור עדיפויות, הפונקציונליות של עמוד טמונה באיכותו, הפופולריות שלה הוא זוכה ואפילו כתובתו. ולכן, כאשר מעצבים מדיניות סינון צריך לקחת בחשבון כי על הזחלן לעבוד עם מידע חלקי וכי המידע השלם שקיים ברשת לא יופיע במהלך הרצת התוכנה. ישנן מספר דרכים להריץ תוכנה זו באינטרנט: על פי מספר הביקורים באתר מסוים (הסתבר כי לא מניב תוצאות טובות, ובעיקר עוזר לדפי אינטרנט יחידים ולא לאתרים שלמים). דרך שנייה להרצת התוכנה היא הרצה של התוכנה כאשר כוונתה העיקרית היא לחפש לפי רוחב האתר, דרך זו מניבה תוצאות יותר טובות מכיוון שהאתרים המבוקרים ביותר עולים בחיפוש יחסית בהתחלה. הסיבה לכך היא כי הדפים החשובים ביותר הם בעלי הלינקים הרבים יותר, שקל יותר לאתר. ישנן תוכנות מבוססות אלגוריתמים אשר מחלקות את הדפים לפי דירוג, כאשר הדפים בעלי "הדירוג" (אשר נקבע לפי האלגוריתם) הגבוה יותר מאותרים מיידית וסימולטנית על ידי התוכנה. דרך זו של חיפוש לא הועלתה מעולם לאינטרנט ועל כן לא ניתן להוכיח את אמינותה.

מיקוד התוכנה
כאשר מריצים תוכנה כמו הזחלן, דבר חשוב שצריך לבצע הוא התאמה בין דמיון של עמוד מסוים לנושא החיפוש. הבעייתיות המרכזית אשר עולה מהזחלן היא שרוצים לדעת את מידת ההתאמה של הערך לנושא החיפוש לפני הורדת העמוד. דרך טובה לנבא זאת היא עוגן הטקסטים בלינק, זוהי שיטה שפותחה על ידי פינקרטון באחד מהזחלנים הראשונים שקמו באינטרנט. הפוקוס של החיפוש תלוי בכמות הלינקים בנושא שמחפשים והישענות על מנוע חיפוש אשר נותן נקודת התחלה טובה.

מדיניות הביקור החוזר 
לאינטרנט יש טבע דינמי, ועל כן, הרצת זחלן יכולה לקחת שבועות ואפילו חודשים. בזמן זה דברים יוכלו להשתנות ולהיות לא רלוונטיים. ולכן כאשר אנו מריצים תוכנה, ערכי הבסיס שהתוצאות אמורות לעמוד בהם הם: טריות וגיל התוצאות.
 טריות: מתבצעת בדרך בינארית אשר מראה אם העותק המקורי הוא מדויק או לא.
 זמן: מדד הזמן קובע כמה ישן העותק המבוקש. 
המטרה העיקרית של הזחלן היא לשמור על ממוצע טריות דפיו גבוה ככל האפשר וזאת תוך כדי שמירה על גיל הדפים נמוך ככל האפשר. לכן, הזחלן צריך לעשות עבודה כפולה: ראשית, עליו לבדוק את כמות הדפים המיושנים באתר מסוים ושנית, עליו לדאוג כמה ישנים הם. על הזחל לבקר מספר פעמים את כל הדפים באוסף, תוך נתינת דגש וביקור חוזר של דפים המשתנים בצורה יותר תכופה. כדי להבטיח את העלאת הדפים החדשים ביותר, על הזחל "לקנוס" אתרים המשתנים בתכיפות גבוהה יותר, ובסופו של דבר להתעלם מדפים אלו.

מדיניות הנימוס
תוכנות הזחל יכולות למצוא מידע בצורה הרבה יותר מהירה ועמוקה מאשר בני אנוש. המהירות והאופן בו פועלים הזחלים משפיע רבות על השרתים, ועל כן מספר זחלים הפועלים בו זמנית יכולים להפיל שרת. הפעלה של זחלים יכולה להיות אפקטיבית למספר משימות אך גם יכולה להוות בעיה לאוכלוסייה ממספר סיבות:
 הזחלנים תופסים את הרשת ועל כן משתקים חלקים של הרשת לפרק זמן ממושך.
 לפעמים הכניסה לאתרים בהם הזחל פועל באותה עת היא בלתי אפשרית מכיוון שהזחל יוצר עומס רב על האתר.
 תוכנות אשר מתוכנתות בצורה לא מספקת יכולים להפיל שרתים וראוטרים ולהוריד דפים איתם הם לא יודעים איך להתמודד.
 זחלים יכולים להפיל שרתים שלמים ואתרים.

פתרון חלקי לבעיות אלו הוא "פרוטוקול מניעת הרובוטים" אשר מהווה סטנדרט למנהלי אתרים ומראה להם איזה חלק מהאתר לא נחשף לזחל. שיטה זו היא היעילה ביותר למניעת הפלות של אתרים מעומס יתר של תוכנות זחלים. הדפים אותם מנהלי האתרים קבעו שתוכנות הזחל לא ייסרקו, מפורטים בדרך כלל בעמוד Robots.txt.

מדיניות ההקבלה
זחלן מקביל הוא זחלן אשר מבצע כמה תהליכי זחילה במקביל, מטרה של תוכנה זו היא למקסם את כמות הערכים שמורידים תוך שמירה על מינימליות הכפילות. על הזחלן לזהות שתי כתובות זהות ובכך למנוע כפילות של העלאת אתרים.

זחלנים נפוצים

Metasploit 
בכלי התקיפה המפורסם Metasploit נמצא גם זחלן רשת אשר ניתן להשתמש בו על ידי הקשת הפקודות הבאותuse auxiliary/crawler/msfcrawler 
msf auxiliary(msfcrawler) > set rhosts www.example.com 
msf auxiliary(msfcrawler) > exploit

Httrack 
Httrack הוא הוא סורק אינטרנט בחינם וקוד פתוח ודפדפן לא מקוון, שפותח על ידי Xavier Roche. הכלי מאפשר לך להוריד אתר אינטרנט לספרייה מקומית, לבנות באופן רקורסיבי את כל הספריות, לקבל HTML, תמונות וקבצים אחרים מהשרת למחשב. כדי להשתמש בו דרך שורת הפקודה של Kali Linux ניתן להקיש את הפקודה הבאה:httrack http://tptl.in –O /root/Desktop/file

Black Widow 
כלי זה מזהה ומציג מידע מפורט עבור דף אינטרנט שנבחר על ידי המשתמש, והוא מציע כלים אחרים של דפי אינטרנט.

Burp Suite 
גם בכלי הנפוץ Burp Suite ניתן להשתמש בזחלן על מנת לגלות את תוכן האתר.

קישורים חיצוניים 

ערכים שבהם תבנית בריטניקה אינה מתאימה
מידע
מנועי חיפוש