16
1 ברק גונן מבוסס על ספר הלימוד" רשתות מחשבים" מאת עומר רוזנבוים פרק5 - Scapy

Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

1

ברק גונןמאת " רשתות מחשבים"מבוסס על ספר הלימוד

עומר רוזנבוים

Scapy -5פרק

Page 2: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

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

socket בפייתון

המודולsocket אינו עונה על הצורך כשמדובר בשכבות יותר נמוכות

Scapy- שמאפשרת לפייתוןספריה חיצונית :מגוון פעולות

פקטותיצירה של ◦

פקטותשליחת ◦

הסנפה◦

לפי שדות שונים פקטות פילטור◦

2 ברק גונן

Page 3: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

בתוךcmd ,כיתבו scapy

התעלמו מהאזהרה◦

3 ברק גונן

Page 4: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

פקטותמאפשרת הסנפה של

נשמרות ברשימה הפקטות

בפייתוןכמו לאיברי רשימה ופקטה פקטהניתן לגשת לכל

4 ברק גונן

Page 5: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

כשביצענו הסנפות עםwireshark ראינו שכאשר אנחנו

בשכבת האפליקציה עובר פרוטוקול , nslookupמבצעים

DNS

◦Scapy בפקטותמזהה את השדות שמופיעים

י הפרמטר "ע, אנו יכולים לפלטר לפי שדה כלשהוlfilter

פקטות פילטור, לדוגמה DNS:

5 ברק גונן

Page 6: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

לאחר שבחרנו

, מסויימת פקטה

ניתן להציג את

התוכן שלה על ידי ()showהמתודה

6 ברק גונן

Page 7: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

אם נרצה להתמקדנבצע , DNS-בפרוטוקול ה

show רק לו

ניתן לבדוק ערך של כל

:לדוגמה. שדה

0מצאנו שכאשר שדה זה הוא , (שאילתא) QUERY-הכוונה ל

7 ברק גונן

מציין שהמספר הוא Lהתו

integer בגודלLong

Page 8: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

נניח שאנחנו מעוניינים

שעונות פקטותלפלטר

:לתנאים הבאים◦DNS- למדנו

למדנו -שאילתא ◦

(: PTRלא ) Aטיפוס ◦

8 ברק גונן

Page 9: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

נשפר את הפילטר שלנו: >>> def filter_dns(packet):

return (DNS in packet

and packet[DNS].opcode==0

and packet[DNSQR].qtype==1)

9 ברק גונן

DNS פקטת

שאילתא

Aסוג

Page 10: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

נרצה לבצע , כעת כשלמדנו ליצור פילטרים מרובי תנאים

שפילטרנו הפקטותפעולות על

ניצור פונקציה שמדפיסה את ה-domain עליו מתבצע

DNS-תשאול ה

>>> def print_query_name(dns_packet):

print dns_packet[DNSQR].qname

שנתפסו בפילטר שלנו פקטותאיך אפשר לגרום לכך שרק ?print_query_nameיגיעו לפונקציה

10 ברק גונן

Page 11: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

נעביר את הפונקציה ל-sniff י הפרמטר "עprn:

יתכן שזה עקב , במידה ולא התקבלו תוצאות: הערה :י הפקודה"יש לאפס אותו ע, cache-מנגנון ה

ipconfig/flushdns

11 ברק גונן

Page 12: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

12 ברק גונן

Page 13: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

שעושות שימוש ב פייתוןכתיבת תוכניות-scapy יסייעו

ובשמירת הקוד להמשך בדיבוג

הקוד הבא מייבא אתscapy ופותר באג בהדפסה

13 ברק גונן

Page 14: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

הסנפה של , 5.2בצעו את תרגיל מודרךHTTP

14 ברק גונן

Page 15: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

למדנו איך משתמשים ב-scapy פקטותלהסנפה של

ראינו שיש ביכולתנו ליצור פילטרים מסוגים שונים אנחנו מוגבלים על ידי פילטרים שמישהו אחר כתב wireshark-ב◦

שעברו סינון פקטותלמדנו לגרום להרצה של פונקציה על

... פקטותמה לגבי יצירה של?

15 ברק גונן

Page 16: Scapy 5 קרפ - data.cyber.org.il · 1 ןנוג קרב תאמ "םיבשחמ תותשר" דומילה רפס לע ססובמ םיובנזור רמוע Scapy 5 קרפ

הזכרנו ש-scapy פקטותמאפשר יצירה של

פעולה זו דורשת היכרות עם השכבות שמתחת לשכבת

האפליקציה

ואז נחזור ל, לכן נלמד אותן-scapy וניישם את מה

שלמדנו

כעת אנחנו מוכנים לצלול לעומק השכבות הבאות...

16 ברק גונן