در دنیای پیچیده اینترنت اشیا (IoT)، شبکه‌های 5G و پروتکل‌های رمزنگاری شده، درک آنچه در کابل‌ها و امواج هوا می‌گذرد، از یک مهارت اختیاری به یک ضرورت تبدیل شده است. اگر می‌خواهید بدانید داده‌ها دقیقاً چگونه جابجا می‌شوند، وایرشارک (Wireshark) تنها راه میان‌بر شماست.

در این مقاله، نه تنها به معرفی Wireshark می‌پردازیم، بلکه با یک مثال عملی، شما را در یک فرآیند واقعی تحلیل شبکه همراهی می‌کنیم.

 

وایرشارک چیست؟ راهنمای کاربردی Wireshark و مقایسه با سایر ابزارها

 

وایرشارک چیست؟ فراتر از یک تحلیل‌گر ساده

وایرشارک یک ابزار Deep Packet Inspection (DPI) است. برخلاف ابزارهای مانیتورینگ که فقط می‌گویند “شبکه کند است”، Wireshark به شما می‌گوید “چرا شبکه کند است”.

این نرم‌افزار با استفاده از کتابخانه‌های قدرتمندی مثل libpcap (در لینوکس) و Npcap (در ویندوز)، بسته‌های عبوری از کارت شبکه را شکار کرده و آن‌ها را از حالت کدهای باینری (۰ و ۱) به پروتکل‌های قابل فهم برای انسان (مانند HTTP, DNS, TCP, TLS) تبدیل می‌کند.

 

ویژگی‌های کلیدی در سال ۲۰۲۶:

  • تحلیل پروتکل‌های نسل جدید: پشتیبانی گسترده از پروتکل‌های مربوط به خودروهای خودران و تجهیزات پزشکی هوشمند.
  • فیلترهای پیشرفته (Display Filters): قابلیت ترکیب پیچیده فیلترها برای یافتن یک سوزن در انبار کاه.
  • رابط کاربری تطبیق‌پذیر: امکان شخصی‌سازی کامل پنل‌ها برای تحلیلگران امنیت و مهندسان شبکه.

 

۱. تحلیل پروتکل‌های نسل جدید: از خودروهای خودران تا اینترنت اشیای پزشکی (IoMT)

در گذشته، Wireshark عمدتاً بر روی پروتکل‌های استاندارد مانند HTTP، FTP و SMTP تمرکز داشت. اما در سال‌های ۲۰۲۵ و ۲۰۲۶، با گسترش دنیای فیزیکی-دیجیتال، نیاز به تحلیل پروتکل‌های خاص‌تر به شدت افزایش یافته است.

  • در حوزه خودروهای خودران (V2X): خودروهای مدرن با استفاده از پروتکل‌های ارتباطی با زیرساخت (Vehicle-to-Everything) مدام در حال تبادل داده هستند. وایرشارک اکنون در تحلیل پروتکل‌هایی که برای کاهش تاخیر (Latency) در ارتباطات خودرو با چراغ‌های راهنمایی یا خودروهای دیگر استفاده می‌شوند، نقش حیاتی دارد. تحلیل بسته (Packet) در اینجا یعنی تشخیص اینکه آیا یک دستور “توقف اضطراری” به دلیل ترافیک شبکه یا اختلال در پروتکل، با تاخیر ارسال شده است یا خیر.
  • در حوزه پزشکی (IoMT – Internet of Medical Things): تجهیزاتی مانند پمپ‌های انسولین هوشمند یا مانیتورهای ضربان قلب که به شبکه متصل هستند، از پروتکل‌های بسیار حساس و گاهی اختصاصی استفاده می‌کنند. Wireshark به متخصصان امنیت پزشکی اجازه می‌دهد تا بررسی کنند آیا داده‌های حیاتی بیمار در حین انتقال، از طریق پروتکل‌های غیرامن (مثل پروتکل‌های قدیمی بدون رمزنگاری) ارسال می‌شوند که خطر حملات شنود (Eavesdropping) را افزایش دهد یا خیر.

 

۲. فیلترها (Display Filters): هنر یافتن سوزن در انبار کاه

یکی از بزرگترین چالش‌های یک تحلیل‌گر شبکه، “نویز” است. در یک شبکه پرسرعت، میلیون‌ها بسته در هر ثانیه عبور می‌کنند. بدون فیلتر کردن، دیدن یک خطای کوچک غیرممکن است. قدرت Wireshark در Display Filters نه تنها در سادگی، بلکه در قابلیت ترکیب منطقی (Boolean Logic) آن‌هاست.

شما می‌توانید از عملگرهای منطقی برای ایجاد فیلترهای فوق‌سخت استفاده کنید:

  • ترکیب شرطی: به جای اینکه فقط به دنبال ترافیک یک آی‌پی باشید، می‌توانید بگویید: “تمام بسته‌هایی را نشان بده که از پروتکل TCP استفاده می‌کنند، اما فقط اگر طول بسته (Length) بیشتر از ۱۰۰۰ بایت باشد و مقصد آن‌ها پورت ۴۴۳ نباشد.”

جهت آشنایی با انواع پورت های شبکه، میتوانید مقاله آشنایی با انواع پورت های شبکه و معرفی ۱۳ پورت شبکه مهم مطالعه نمایید.

tcp && frame.len > 1000 && !(tcp.port == 443)
  • جستجو بر اساس محتوا (Payload Inspection): شما می‌توانید فیلترهایی بنویسید که حتی داخل محتوای بسته را جستجو کنند. مثلاً اگر به دنبال بسته‌هایی هستید که حاوی یک کلمه کلیدی خاص یا یک امضای دیجیتال (Signature) مشکوک در لایه اپلیکیشن هستند.
  • فیلترهای زمانی و آماری: امکان فیلتر کردن بسته‌ها بر اساس فاصله زمانی بین آن‌ها (Delta Time) که برای شناسایی حملات DoS (محروم‌سازی از سرویس) بسیار کاربردی است.

فیلترها (Display Filters) در وایرشارک wireshark

 

۳. رابط کاربری تطبیق‌پذیر (Adaptive UI): شخصی‌سازی بر اساس نقش کاربر

وایرشارک یک ابزار “یکسان برای همه” نیست. یک مهندس امنیت (Security Analyst) با یک توسعه‌دهنده نرم‌افزار (Developer) نیازهای بصری کاملاً متفاوتی دارد. وایرشارک با ارائه قابلیت شخصی‌سازی پنل‌ها، این نیاز را برطرف می‌کند:

  • برای تحلیلگران امنیت (SOC Analysts): آن‌ها نیاز دارند که پنل‌های “Statistics” و “Expert Info” همیشه جلوی چشمشان باشد. آن‌ها می‌توانستند پروفایل‌هایی تنظیم کنند که در آن، هر زمان یک بسته با سطح ریسک بالا (مانند تلاش برای اسکن پورت یا حملات SYN Flood) شناسایی شد، رنگ آن بسته به شدت قرمز و چشم‌گیر تغییر کند.
  • برای مهندسان شبکه و توسعه‌دهندگان: تمرکز این افراد بیشتر روی زمان‌بندی (Timing) و جریان داده (Flow) است. آن‌ها از پنل‌های نمایش “Flow Graph” استفاده می‌کنند تا بتوانند مسیر رفت و برگشت داده را به صورت گرافیکی ببینید. همچنین می‌توانند ستون‌های سفارشی (Custom Columns) به لیست بسته‌ها اضافه کنند؛ مثلاً اضافه کردن ستونی که مستقیماً “زمان تاخیر” (Latency) هر بسته را نشان دهد تا بتوانند گلوگاه‌های شبکه را سریع‌تر شناسایی کنند.
  • مدیریت پروفایل‌ها: کاربر می‌تواند چندین پروفایل ذخیره کند؛ مثلاً یک پروفایل “Troubleshooting” با تنظیمات خاص و یک پروفایل “Security Audit” با فیلترها و رنگ‌بندی‌های متفاوت، و تنها با یک کلیک بین آن‌ها جابجا شود.

 

سناریوی عملی: تحلیل یک حمله احتمالی یا مشکل اتصال

برای اینکه درک بهتری از قدرت وایرشارک داشته باشید، بیایید فرض کنیم شما مدیر شبکه یک شرکت هستید و یکی از کاربران گزارش داده است که “وب‌سایت داخلی شرکت باز نمی‌شود”.

مرحله ۱: شناسایی و کپچر (Capture)

شما وایرشارک را باز می‌کنید، اینترفیس مربوطه را انتخاب کرده و شروع به ضبط ترافیک می‌کنید. در این لحظه، هزاران بسته در حال عبور هستند.

مرحله ۲: اعمال فیلتر هوشمند

جستجوی دستی در این حجم از داده غیرممکن است. شما می‌دانید مشکل در پروتکل وب است، پس در نوار فیلتر تایپ می‌کنیم :

ip.addr == 10.227.85.47 && tcp.port == 80

(این دستور یعنی: فقط بسته‌هایی را نشان بده که مقصد یا مبدا آن‌ها آی‌پی کاربر مورد نظر است و از پورت ۸۰ استفاده می‌کنند).

 

مرحله ۳: تحلیل جریان (Follow TCP Stream)

شما یک بسته مشکوک پیدا می‌کنید. برای اینکه بفهمید چه اتفاقی بین کاربر و سرور افتاده، روی آن راست‌کلیک کرده و گزینه Follow > TCP Stream را انتخاب می‌کنید.

یک پنجره جدید باز می‌شود که تمام گفتگوی بین کاربر و سرور را به صورت متن (Text) به شما نشان می‌دهد. ( صورتی ها : client و آبی ها: server)

 

تحلیل جریان (Follow TCP Stream) در وایرشارک

 

مرحله ۴: یافتن علت مشکل (The Discovery)

در پنجره باز شده، شما متوجه می‌شوید که کاربر درخواست (GET request) را ارسال کرده، اما سرور در پاسخ، کد خطای زیر را برگردانده است:

HTTP/1.1 403 Forbidden

نتیجه‌گیری فنی: مشکل از شبکه یا کابل نیست! مشکل از سمت سرور است که دسترسی کاربر را مسدود کرده است. با Wireshark، شما در عرض ۵ دقیقه به جای ساعت‌ها حدس و گمان، مستقیماً به اصل مطلب رسیدید.

 

 ۵ نکته طلایی برای استفاده حرفه‌ای از Wireshark

  1. از فیلترهای ساده شروع کنید: مثلاً dns یا tcp.port==۸۰.
  2. بررسی تأخیر با نمودار زمانی: از منوی Statistics > IO Graphs استفاده کنید.
  3. پکت‌های مشکوک را رنگ‌بندی کنید: با راست‌کلیک بر روی پکت و گزینه Apply as Filter.
  4. فایل‌های کپچر را ذخیره کنید: برای گزارش‌دهی یا بررسی بعدی.
  5. آموزش پروتکل‌ها را نادیده نگیرید: برای تحلیل موثر، دانش پایه‌ای از TCP/IP ضروری است.

 

چه زمانی بهتر است از ابزارهای دیگر استفاده کنیم؟

  • اگر منابع سیستم محدود دارید (مثلاً روی سرورها)، از tcpdump یا Tshark استفاده کنید.
  • برای پایش خودکار و گزارش‌گیری، ابزارهایی مانند SolarWinds یا PRTG مناسب‌ترند.

 

 استفاده از TCPDUMP بجای Wireshark

مقایسه وایرشارک (Wireshark) و tcpdump یکی از کلاسیک‌ترین و جذاب‌ترین بحث‌ها در دنیای شبکه است. هر دو ابزار در واقع از یک موتور مشترک (کتابخانه libpcap / WinPcap) برای شنود شبکه استفاده می‌کنند، اما فلسفه وجودی، محیط اجرا و مخاطب هدف آن‌ها کاملاً متفاوت است.
اگر بخواهیم در یک جمله تفاوت این دو را بگوییم: وایرشارک برای «تحلیل و مهندسی معکوس» است، اما tcpdump برای «شکار سریع و عیب‌یابی در محیط‌های تولید (Production)» است.
در ادامه، این دو ابزار را از ۵ زاویه مهم بررسی می‌کنیم:

۱. رابط کاربری: گرافیک (GUI) در برابر خط فرمان (CLI)

  • Wireshark: دارای یک رابط گرافیکی کامل است. شما می‌توانید روی هر پکت کلیک کنید، لایه‌های آن (از فیزیک تا اپلیکیشن) را باز کنید و داده‌ها را به صورت Hex و ASCII ببینید. رنگ‌بندی پکت‌ها به شما کمک می‌کند تا خطاها را در یک چشم بر هم زدن پیدا کنید.
  • tcpdump: یک ابزار کاملاً متنی (Terminal-based) است. خروجی آن به صورت خطوط متنی است و برای خواندن آن باید با سینتکس و ساختار هدرهای پروتکل‌ها آشنایی ذهنی داشته باشید.

۲. مصرف منابع و سبکی

  • Wireshark: به دلیل رندر کردن گرافیکی، رمزگشایی (Decoding) همزمان صدها پروتکل و نگهداری پکت‌ها در رم، به شدت به CPU و RAM وابسته است. اگر یک فایل کپچر چند گیگابایتی را باز کنید، ممکن است سیستم شما هنگ کند.
  • tcpdump: فوق‌العاده سبک و بهینه است. می‌تواند روی یک سرور ضعیف یا حتی یک رزبری‌پای (Raspberry Pi) بدون ایجاد کوچک‌ترین اختلالی در عملکرد سرور، ترافیک را کپچر کند.

۳. محیط استفاده (کجا از کدام استفاده کنیم؟)

  • Wireshark: بهترین گزینه برای سیستم‌های محلی (Local)، محیط‌های آزمایشگاهی (Lab)، دسکتاپ شخصی و زمانی است که فایل .pcap از قبل ضبط شده و می‌خواهید آن را کالبدشکافی کنید. (نکته امنیتی: اجرای وایرشارک با دسترسی Root روی سرورهای ریموت به دلیل باگ‌های احتمالی در رابط گرافیکی، اصلاً توصیه نمی‌شود).
  • tcpdump: پادشاه سرورهای ریموت و محیط‌های Headless (بدون مانیتور). وقتی از طریق SSH به یک سرور لینوکسی در دیتاسنتر متصل هستید و شبکه قطعی دارد، tcpdump تنها نجات‌بخش شماست.

۴. اتوماسیون و اسکریپت‌نویسی

  • Wireshark: برای استفاده دستی طراحی شده و قابلیت اسکریپت‌نویسی در آن محدود است.
  • tcpdump: به راحتی با ابزارهای لینوکسی مثل grep, awk, sort ترکیب می‌شود (Pipe). شما می‌توانید یک اسکریپت Bash بنویسید که هر شب به صورت خودکار ترافیک پورت ۸۰ را کپچر کرده و فقط IPهای مهاجم را استخراج کند.

۵. منحنی یادگیری

  • Wireshark: برای مبتدیان بسیار دوستانه‌تر است، زیرا ساختار درختی پکت‌ها را به صورت بصری نشان می‌دهد.
  • tcpdump: نیاز به دانش فنی بالاتری دارد. شما باید فیلترهای BPF (Berkeley Packet Filter) را حفظ کنید و بتوانید خروجی‌های خام متنی را در ذهن خود تحلیل کنید

در این بخش سناریوی کوچکی از پکت هایی که با ابزار غیر گرافیکی tcpdump و بر اساس فیلترهایی که از طریق خط فرمان میدهیم را خواهیم دید.

 

ابتدا در ترمینال شماره ۱ این دستور را آماده اجرا می گزاریم:

sudo tcpdump -i any -n port 80 or port 443 -c 10

و در ترمینال شماره ۲ همزمان برای اجرای یک آدرس اقدام می کنیم:

curl -I https://www.google.com

و نتیجه اجرای ترمینال اول و دوم در ادامه آمده است:

 

tcpdump vs wireshark

 

curl+tcpdump

 

دستوری که در ترمینال اول استفاده کردیم برای پایش تمام پکت های ورودی و خروجی بوده که از پورت ۸۰ یا پورت ۴۴۳ شبکه ما باید گوش میداده و نهایتا ۱۰ پکت را برای ما به نمایش در میاورده. آپشن  -i  any به معنی تمامی کارت شبکه های میزبان اجرا کننده دستور است.

 

نکته مهم در زمان مقایسه:

از آنجایی که در وایرشارک فیلترها ۲ نوع هستند ؛ امکان مقایسه فیلترها بین وایرشارک و tcpdump مقایسه دقیقی نیست. ولی در یک مثال ساده و برای درک بهتر مشابهت های این دو ابزار همین کافی که فیلتر کپچر port ۸۰ or port ۴۴۳  و فیلتر نمایشی tcp.port == ۸۰ or tcp.port == ۴۴۳ معادل دستور زیر در tcpdump است:

sudo tcpdump -i any -n port 80 or port 443 -c 10

 

در اصل اگر در بخش فیلترهای وایرشارک فیلتر کپچر را تایپ کنیم ، نرم افزار بر اساس رفتار شبکه و فیلتری که درخواست کرده ایم در نتیجه نهایی بعنوان یوزر درخواست کننده ببینیم می تواند فیلتر نمایشی tcp.port == ۸۰ or tcp.port == ۴۴۳ باشد.

 

در یک نگاه : درک و تحلیل و آنالیز پکت ها در Wireshark به دلیل استفاده از المان های گرافیکی بسیار راحت تر است ولی نکته مهمی که مهندسان امنیت به آن توجه زیادی دارند ، امن بودن ابزار tcpdump و سبک بودن آن است.

ثبت رای
جستجو

سرفصل های مقاله

نظرات کاربران
دیدگاهتان را بنویسید

لطفا علاوه بر متن نظر، نام و ایمیل خود را نیز وارد کنید. (ایمیل شما منتشر نخواهد شد)