לדלג לתוכן

הרצאה מקיפה על tcpdump

מבוא

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


התקנה

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

  • Ubuntu/Debian:
sudo apt update && sudo apt install tcpdump
  • CentOS/RHEL:
sudo yum install tcpdump
  • Arch Linux:
sudo pacman -S tcpdump
  • בדיקת גרסה:
tcpdump --version

שימוש בסיסי

1. לcapture תעבורה על interface רשת

sudo tcpdump -i eth0
  • -i eth0 – מאזין לתעבורה בinterface eth0.

לcapture תעבורה בכל הinterfaces

sudo tcpdump -i any

2. לcapture מספר מוגבל של packets

sudo tcpdump -i eth0 -c 10
  • -c 10 – לוכד 10 packets בלבד ומפסיק.

3. הצגת פלט בפורמט קריא

sudo tcpdump -i eth0 -n -v
  • -n – מונע המרת IP לשמות מתחם (DNS).
  • -v – מפרט מידע נוסף על כל packet.

4. הצגת פלט מפורט מאוד

sudo tcpdump -i eth0 -vvv
  • -vvv – נותן מידע מלא על כל packet.

סינון תעבורה

5. לcapture packets לפי פרוטוקול

לcapture תעבורת HTTP

sudo tcpdump -i eth0 port 80
  • מאזין רק לpackets שמיועדות ל-HTTP (פורט 80).

לcapture תעבורת HTTPS

sudo tcpdump -i eth0 port 443

לcapture תעבורת DNS

sudo tcpdump -i eth0 port 53

6. לcapture packets לפי כתובת IP

לcapture packets מכתובת ספציפית

sudo tcpdump -i eth0 src 192.168.1.100
  • מציג packets שמגיעות מכתובת 192.168.1.100.

לcapture packets שמיועדות לכתובת מסוימת

sudo tcpdump -i eth0 dst 192.168.1.200

לcapture packets בין שתי כתובות

sudo tcpdump -i eth0 host 192.168.1.100 and 192.168.1.200

7. לcapture packets לפי טווח כתובות (CIDR)

sudo tcpdump -i eth0 net 192.168.1.0/24
  • מאזין לכל הכתובות ברשת 192.168.1.0/24.

8. לcapture packets לפי פורט

לcapture packets שמגיעות לפורט מסוים

sudo tcpdump -i eth0 dst port 22
  • מאזין לpackets המיועדות ל-SSH (פורט 22).

לcapture packets שמגיעות או יוצאות מפורט מסוים

sudo tcpdump -i eth0 port 443
  • מאזין לכל packets ה-HTTPS.

9. לcapture packets לפי פרוטוקול ספציפי

לcapture packets TCP בלבד

sudo tcpdump -i eth0 tcp

לcapture packets UDP בלבד

sudo tcpdump -i eth0 udp

לcapture packets ICMP (Ping)

sudo tcpdump -i eth0 icmp

ניתוח packets

10. הצגת תוכן הpackets בפורמט HEX + ASCII

sudo tcpdump -i eth0 -X
  • -X – מציג את תוכן הpacket גם ב-Hex וגם ב-ASCII.

11. הצגת מידע מלא כולל ה-Header של כל packet

sudo tcpdump -i eth0 -vv -A
  • -A – מציג תוכן טקסטואלי של הpacket.

12. לcapture מידע על packets גדולות יותר

sudo tcpdump -i eth0 -s 0
  • -s 0 – שומר את כל תוכן הpacket (ברירת מחדל היא רק 96 בתים ראשונים).

שמירה וניתוח packets

13. שמירת packets לקובץ (לניתוח מאוחר יותר)

sudo tcpdump -i eth0 -w capture.pcap
  • -w – שומר את הפלט בקובץ capture.pcap לניתוח מאוחר.

14. קריאת קובץ packets (PCAP)

sudo tcpdump -r capture.pcap
  • -r – טוען קובץ packets קודם.

15. ניתוח מתקדם עם Wireshark

אם רוצים לנתח את הpackets בגרפיקה נוחה יותר:

wireshark capture.pcap

או:

tshark -r capture.pcap

סינון מתקדם (Boolean Logic)

  • בדומה לwireshark גם פה אנחנו יכולים להפעיל bpf כדי לפלטר על פאקטות מסויימות בזמן התפיסה. (capture filter)

16. סינון packets עם מספר תנאים

sudo tcpdump -i eth0 src 192.168.1.100 and dst port 80
  • מאזין לpackets שמגיעות מכתובת 192.168.1.100 ונשלחות לפורט 80.

17. לcapture תעבורה חוץ מכתובת מסוימת

sudo tcpdump -i eth0 not host 192.168.1.1
  • מסנן את כל הכתובות חוץ מ-192.168.1.1.

18. לcapture תעבורה חוץ מפרוטוקול מסוים

sudo tcpdump -i eth0 not arp
  • מסנן תעבורת ARP.

הגבלת מספר packets לזמן מוגבל

19. לcapture packets לזמן מסוים

sudo timeout 60 tcpdump -i eth0 -w capture.pcap
  • לוכד תעבורה למשך 60 שניות בלבד.