Wireshark — عيون الشبكة
كل Packet يمر، Wireshark يراه
Wireshark هو محلل بروتوكولات الشبكة الأكثر استخداماً في العالم — أداة مفتوحة المصدر تتيح التقاط وتحليل حركة البيانات في الشبكة بشكل مرئي وتفصيلي. بدأ مشروعه عام 1998 باسم Ethereal ثم تغيّر اسمه لـ Wireshark عام 2006.
يدعم أكثر من 3000 بروتوكول — من HTTP وDNS حتى بروتوكولات صناعية نادرة. يعمل على Windows وLinux وmacOS. يُستخدم من قِبل Network Engineers وSecurity Analysts وPenetration Testers يومياً.
ما يجعله لا غنى عنه: القدرة على رؤية ما يجري فعلاً في الشبكة — لا تخمين ولا افتراضات، فقط بيانات حقيقية خام.
⚠️ تحذير قانوني: التقاط حركة شبكة لا تمتلك إذناً صريحاً لمراقبتها هو جريمة جنائية. استخدم Wireshark فقط على شبكاتك الخاصة أو في بيئات تدريبية مرخّصة.
التثبيت والإعداد
جاهز في دقيقة
# Kali Linux / Ubuntu / Debian
root@kali:~$ sudo apt update && sudo apt install wireshark -y
# السماح للمستخدم العادي بالتقاط Packets بدون sudo
root@kali:~$ sudo dpkg-reconfigure wireshark-common
# اختر YES
root@kali:~$ sudo usermod -aG wireshark $USER
root@kali:~$ newgrp wireshark
# Arch Linux
root@arch:~$ sudo pacman -S wireshark-qt
# تشغيل
root@kali:~$ wireshark
root@kali:~$ wireshark -i eth0 # تشغيل مع Interface محدد
root@kali:~$ wireshark -r capture.pcap # فتح ملف capture سابق
# TShark (CLI version)
root@kali:~$ sudo apt install tshark -y
root@kali:~$ tshark --version
واجهة Wireshark
كل عنصر وما يعنيه
📋
Packet List Pane
القائمة العلوية — تعرض كل الـ Packets الملتقطة بترتيب زمني مع: رقم، وقت، IP المصدر والوجهة، Protocol، والملخص.
🔍
Packet Details Pane
المنتصف — يعرض تفاصيل الـ Packet المختار طبقة بطبقة: Ethernet، IP، TCP/UDP، Application Layer.
💾
Packet Bytes Pane
الأسفل — يعرض البيانات الخام بصيغة Hex وASCII. مفيد لتحليل البيانات المشفرة أو غير المعروفة.
🎛️
Display Filter Bar
شريط الفلترة العلوي — تكتب فيه Display Filters لعرض Packets محددة فقط. يتحول لـ أخضر عند فلتر صحيح وأحمر عند خطأ.
📊
Statistics Menu
إحصاءات الـ Capture: Conversations، Endpoints، Protocol Hierarchy، IO Graph — نظرة شاملة على الشبكة.
🎨
Packet Coloring
Wireshark يلوّن الـ Packets تلقائياً: أخضر=TCP، أزرق=UDP، أحمر=أخطاء، أسود=مشاكل TCP.
التقاط الـ Packets
كيف تبدأ الصيد
// CAPTURE — Start & Save
## من الـ GUI
# Capture → Interfaces → اختر الـ Interface → Start
# أو اضغط Ctrl+E للبدء والإيقاف
## اختصارات مهمة
Ctrl+E # Start/Stop Capture
Ctrl+K # Capture Options
Ctrl+S # حفظ الـ Capture
Ctrl+Shift+S # Save As
Ctrl+O # فتح ملف Capture
Ctrl+F # Find Packet
Ctrl+G # Go to Packet
Ctrl+R # Reload File
Space # الانتقال للـ Packet التالي
## صيغ الحفظ
.pcap # الأشهر — تدعمه معظم الأدوات
.pcapng # الأحدث — يدعم Metadata إضافية
.cap # مستخدم في Aircrack-ng
## Capture على Interface محدد مع فلتر
# Capture → Options → Capture Filter:
port 80 # HTTP فقط
host 192.168.1.1 # IP محدد
net 192.168.1.0/24 # Subnet كامل
not port 22 # استثناء SSH
💡 Promiscuous Mode: فعّله في Capture Options لالتقاط كل الـ Traffic في الشبكة وليس فقط ما هو موجّه لجهازك.
Display Filters — الفلاتر الكاملة
أقوى ميزة في Wireshark
الـ Display Filters تُفلتر الـ Packets الظاهرة بدون حذفها — تُطبَّق بعد الـ Capture. صيغتها مختلفة عن Capture Filters.
| الفلتر | الوصف | مثال |
| ip.addr == x.x.x.x | IP معين (مصدر أو وجهة) | ip.addr == 192.168.1.1 |
| ip.src == x.x.x.x | IP المصدر فقط | ip.src == 10.10.10.5 |
| ip.dst == x.x.x.x | IP الوجهة فقط | ip.dst == 8.8.8.8 |
| tcp.port == N | TCP Port محدد | tcp.port == 443 |
| udp.port == N | UDP Port محدد | udp.port == 53 |
| http | HTTP traffic فقط | http |
| http.request | HTTP Requests فقط | http.request |
| http.response.code == N | HTTP Response Code محدد | http.response.code == 200 |
| dns | DNS traffic فقط | dns |
| dns.qry.name contains "x" | DNS Query يحتوي نص | dns.qry.name contains "google" |
| ftp | FTP traffic | ftp |
| ftp.request.command == "PASS" | كلمة مرور FTP | ftp.request.command == "PASS" |
| smtp | SMTP Email traffic | smtp |
| tcp.flags.syn == 1 | TCP SYN Packets (بداية الاتصال) | tcp.flags.syn == 1 |
| tcp.flags.rst == 1 | TCP RST (إعادة ضبط الاتصال) | tcp.flags.rst == 1 |
| frame contains "password" | أي Packet يحتوي نص معين | frame contains "login" |
| !arp | استثناء ARP | !arp && !icmp |
| icmp | Ping Packets | icmp |
| ssl / tls | HTTPS / TLS traffic | tls |
| tcp.analysis.retransmission | Retransmissions (مشاكل شبكة) | tcp.analysis.retransmission |
// DISPLAY FILTERS — Advanced Combinations
## Operators
&& or and # كلا الشرطين
|| or or # أحد الشرطين
! or not # نفي
== # يساوي
!= # لا يساوي
contains # يحتوي نص
matches # Regex
## أمثلة متقدمة
ip.addr == 192.168.1.5 && http
tcp.port == 80 || tcp.port == 443
http && ip.src == 10.10.10.1
dns && !dns.flags.response # DNS Queries فقط
tcp.flags == 0x002 # SYN فقط
tcp.flags == 0x012 # SYN-ACK فقط
http.request.method == "POST" # POST Requests
frame.len > 1000 # Packets كبيرة
ip.ttl < 10 # TTL منخفض (Traceroute؟)
!(arp or icmp or dns) # استثناء Noise
Capture Filters
فلاتر أثناء الالتقاط — BPF Syntax
💡 الفرق الأساسي: Capture Filters تُطبَّق أثناء الالتقاط وتمنع حفظ الـ Packets المستثناة — أسرع وأخفّ. Display Filters تُطبَّق بعد الالتقاط على البيانات الموجودة.
// CAPTURE FILTERS — BPF Syntax
## بالـ Host / IP
host 192.168.1.1 # IP محدد
src host 10.10.10.5 # مصدر محدد
dst host 8.8.8.8 # وجهة محددة
net 192.168.1.0/24 # Subnet كامل
## بالـ Port
port 80 # HTTP
port 443 # HTTPS
portrange 1-1024 # Well-Known Ports
not port 22 # استثناء SSH
## بالـ Protocol
tcp # TCP فقط
udp # UDP فقط
icmp # ICMP فقط
arp # ARP فقط
## تركيبات
host 192.168.1.1 and port 80
tcp and not port 22
src net 192.168.0.0/16 and dst port 443
// 07 — PROTOCOL ANALYSIS
تحليل أبرز البروتوكولات
كيف تقرأ كل بروتوكول
🌐
HTTP / HTTPS
تحليل Requests/Responses، استخراج Credentials، كشف SQL Injection وXSS في الـ Traffic.
🔍
DNS
اكتشاف DNS Tunneling، تحليل Queries المشبوهة، كشف DNS Poisoning وData Exfiltration.
📁
FTP / SFTP
استخراج Credentials نصية واضحة، تتبع نقل الملفات، كشف Brute Force على FTP.
📧
SMTP / POP3
تحليل رسائل البريد، استخراج Credentials، اكتشاف Phishing Emails في الشبكة.
🔐
TLS / SSL
تحليل Handshake، اكتشاف ضعف التشفير، كشف SSL Stripping وDowngrade Attacks.
🖥️
SMB / CIFS
تحليل NTLM Handshakes، اكتشاف Pass-the-Hash، تتبع نقل الملفات على Windows.
🔑
Kerberos
تحليل TGT/TGS Requests، اكتشاف Kerberoasting وPass-the-Ticket في Active Directory.
📡
ARP
اكتشاف ARP Spoofing وARP Poisoning — علامة واضحة على MitM Attack في الشبكة.
// PROTOCOL-SPECIFIC FILTERS
## HTTP Analysis
http.request.method == "POST" # POST Requests (Credentials؟)
http.request.uri contains "login" # طلبات تسجيل دخول
http.response.code == 401 # Unauthorized (Brute Force؟)
## DNS Analysis
dns.qry.name contains "evil.com" # Domain مشبوه
dns && frame.len > 512 # DNS كبير (Tunneling؟)
dns.count.answers == 0 # DNS Failures
## FTP Credentials
ftp.request.command == "USER" # FTP Username
ftp.request.command == "PASS" # FTP Password
## ARP Spoofing Detection
arp.duplicate-address-detected # تنبيه ARP مكرر
arp && arp.opcode == 2 # ARP Replies المشبوهة
## SMB NTLM
ntlmssp # NTLM Authentication
smb2 # SMBv2 Traffic
kerberos # Kerberos Authentication
Follow Stream وReassembly
اقرأ المحادثة كاملة
Follow Stream هي ميزة تجمع كل الـ Packets التابعة لاتصال واحد وتعرضها كمحادثة مقروءة — بدل رؤية كل Packet منفصلاً. الأداة الأقوى لاستخراج البيانات من الـ Traffic.
// FOLLOW STREAM — How To Use
## كيفية الاستخدام
# 1. انقر بالزر الأيمن على أي Packet
# 2. Follow → TCP Stream (أو UDP / HTTP / TLS)
# 3. تظهر المحادثة كاملة
## أنواع Follow Stream
Follow TCP Stream # كل TCP connection
Follow UDP Stream # UDP sessions
Follow HTTP Stream # HTTP Request/Response
Follow TLS Stream # TLS بعد فك التشفير
## ألوان المحادثة
## أحمر = بيانات مُرسَلة من العميل
## أزرق = بيانات مُستقبَلة من السيرفر
## مثال: استخراج بيانات HTTP POST
# انقر على HTTP POST Packet → Follow TCP Stream
POST /login.php HTTP/1.1
Host: target.com
username=admin&password=MySecretPass123
[+] Credentials extracted!
## حفظ Stream كملف
# في نافذة Follow Stream → Save As → اختر الصيغة
// 09 — PENTESTING USE CASES
Wireshark في Pentesting
أداة التحليل الجنائي الرقمي
01
// CREDENTIAL SNIFFINGاستخراج Credentials من HTTP/FTP
فلتر HTTP POST Requests وFTP PASS Commands لاستخراج كلمات المرور من الاتصالات غير المشفرة مباشرة.
02
// MITM ANALYSISتحليل هجمات MitM
بعد ARP Spoofing، Wireshark يلتقط كل الـ Traffic المُعاد توجيهه عبر جهازك — كل الاتصالات مرئية.
03
// NETWORK RECONPassive Network Discovery
تحليل الـ Traffic لاكتشاف الـ Hosts والـ Services والـ OS بدون إرسال أي Packet — Passive Recon كامل.
04
// MALWARE ANALYSISتحليل سلوك الـ Malware
مراقبة الاتصالات الخارجية للـ Malware: C2 Servers، Data Exfiltration، DNS Tunneling — كل شيء مرئي.
05
// WIFI ANALYSISتحليل WiFi Handshakes
استخدام Wireshark مع Monitor Mode لالتقاط وتحليل WPA Handshakes، Deauth Attacks، وEAPOL Frames.
06
// CTF CHALLENGESتحليل ملفات PCAP في CTF
معظم Network Forensics challenges في CTF عبارة عن ملفات .pcap — Wireshark هو الأداة الأولى لفتحها وتحليلها.
TShark — الـ CLI Version
Wireshark بدون واجهة — للأتمتة والـ Scripts
// TSHARK — Essential Commands
## عرض الـ Interfaces
root@kali:~$ tshark -D
## التقاط على Interface محدد
root@kali:~$ tshark -i eth0
## التقاط مع فلتر وحفظ
root@kali:~$ tshark -i eth0 -w capture.pcap
root@kali:~$ tshark -i eth0 -f "port 80" -w http.pcap
## قراءة ملف pcap
root@kali:~$ tshark -r capture.pcap
root@kali:~$ tshark -r capture.pcap -Y "http"
## استخراج Field محدد
root@kali:~$ tshark -r capture.pcap -T fields -e ip.src -e ip.dst -e http.request.uri
root@kali:~$ tshark -r capture.pcap -T fields -e dns.qry.name -Y "dns"
## إحصاءات سريعة
root@kali:~$ tshark -r capture.pcap -q -z conv,tcp # TCP Conversations
root@kali:~$ tshark -r capture.pcap -q -z io,phs # Protocol Hierarchy
root@kali:~$ tshark -r capture.pcap -q -z endpoints,ip # IP Endpoints
## Follow Stream من CLI
root@kali:~$ tshark -r capture.pcap -q -z follow,tcp,ascii,0
## Export Objects (صور، ملفات HTTP)
root@kali:~$ tshark -r capture.pcap --export-objects http,./output/
سيناريوهات تحليل حقيقية
من الـ Traffic للـ Intelligence
▶ سيناريو 01 — اكتشاف ARP Spoofing
// ARP SPOOFING DETECTION
## فلتر ARP Replies
arp.opcode == 2
## إذا رأيت نفس IP يظهر بـ MAC مختلف — هجوم ARP!
192.168.1.1 is at 00:11:22:33:44:55 ← الـ Router الحقيقي
192.168.1.1 is at aa:bb:cc:dd:ee:ff ← المهاجم! (ARP Spoofing)
## فلتر مباشر للكشف
arp.duplicate-address-detected
[!] ARP Spoofing Detected!
▶ سيناريو 02 — استخراج Credentials من HTTP
// HTTP CREDENTIAL EXTRACTION
## فلتر POST Requests
http.request.method == "POST"
## انقر على الـ Packet → Follow TCP Stream
POST /login HTTP/1.1
Host: 192.168.1.100
Content-Type: application/x-www-form-urlencoded
username=admin&password=Password123&submit=Login
[+] Credentials: admin / Password123
▶ سيناريو 03 — اكتشاف Port Scan
## SYN Scan من Nmap يظهر كـ TCP SYN بدون SYN-ACK
tcp.flags.syn == 1 && tcp.flags.ack == 0
## إذا رأيت عشرات الـ SYN لـ Ports مختلفة من نفس IP = Port Scan!
10.10.14.5 → 10.10.10.40:22 [SYN]
10.10.14.5 → 10.10.10.40:80 [SYN]
10.10.14.5 → 10.10.10.40:443 [SYN]
10.10.14.5 → 10.10.10.40:445 [SYN]
[!] Port Scan Detected from 10.10.14.5
▶ سيناريو 04 — تحليل DNS Tunneling
// DNS TUNNELING DETECTION
## DNS Tunneling = بيانات مخبأة في DNS Queries
dns && frame.len > 100
## Queries طويلة وغريبة = علامة تحذير
aGVsbG8gd29ybGQ.evil.com ← Base64 في الـ DNS Query!
c2VjcmV0ZGF0YQ.evil.com ← Data Exfiltration!
## فلتر أدق
dns.qry.name matches "[a-z0-9]{20,}"
[!] Possible DNS Tunneling Detected!
نصائح احترافية
ما لا تجده في الدليل الرسمي
🔍 Export Objects: من Edit → Export Objects → HTTP يمكنك استخراج كل الملفات (صور، HTML، ZIP) المنقولة عبر HTTP في الـ Capture مباشرة.
🎨 Custom Coloring Rules: View → Coloring Rules — أضف قواعد تلوين خاصة بك لتمييز الـ Traffic المشبوه بسرعة.
📊 Protocol Hierarchy: Statistics → Protocol Hierarchy — نظرة فورية على توزيع البروتوكولات في الـ Capture. مفيد لاكتشاف Traffic غير طبيعي.
🔑 Decrypt TLS: إذا عندك الـ Private Key أو الـ Pre-Master Secret Log، يمكنك فك تشفير HTTPS في Wireshark عبر Edit → Preferences → TLS.
⚡ Columns مخصصة: أضف Columns مخصصة في الـ Packet List (كـ Destination Port أو Delta Time) بالنقر اليمين على أي Field → Apply as Column.
💾 Ring Buffer: في Capture Options فعّل Ring Buffer لتخزين الـ Captures في ملفات متعددة تلقائياً — مفيد للـ Long-Term Monitoring.
Wireshark هو عيون الشبكة — لا يكذب ولا يخفي شيئاً. كل Packet يمر، كل بيانات تُنقل، كل هجوم يُشَن، كله مرئي لمن يعرف كيف يقرأه. إتقان Wireshark = فهم عميق لكيفية عمل الشبكات من الداخل. هذا هو الأساس الذي يبني عليه كل Security Analyst وPenetration Tester مهنته.