SharkMCP: آنالیز ترافیک شبکه با زبان طبیعی
خلاصهٔ کاملتر
SharkMCP یه پروژه اوپنسورس هست که پل بین Wireshark و مدلهای زبانی بزرگ (LLM) رو میسازه. این ابزار از طریق پروتکل MCP (Model Context Protocol) کار میکنه و رابط برنامهنویسی Wireshark یعنی sharkd رو به صورت یه سری ابزار قابل فراخوانی توسط هوش مصنوعی در میآره. به زبان ساده، با SharkMCP میتونی از یه LLM بخوای که ترافیک شبکهات رو تحلیل کنه — بدون اینکه نیاز باشه خودت دستی توی Wireshark دنبال چیزی بگردی.
کافیه Python 3.10 به بالا و Wireshark نصب داشته باشی. بعد از نصب SharkMCP، توی فایل تنظیمات MCP مربوط به کلاینتت یه آنتری اضافه میکنی تا سرور بالا بیاد:
{
"mcpServers": {
"sharkmcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/weirdmachine64/sharkmcp", "sharkmcp"],
"env": {
"SHARKMCP_TIMEOUT": "300"
}
}
}
}معماری SharkMCP به این شکله که هر فایل PCAP که لود میکنی، یه پروسه sharkd مجزا بهش اختصاص داده میشه. LLM از طریق MCP با سرور SharkMCP صحبت میکنه، اون هم از طریق JSON-RPC با sharkd ارتباط برقرار میکنه. این ایزولاسیون باعث میشه بتونی همزمان روی چند فایل مختلف کار کنی بدون اینکه تداخلی پیش بیاد.
ابزارهایی که SharkMCP ارائه میده به چند دسته تقسیم میشن. اول، مدیریت جلسه: میتونی فایلها رو لود کنی، لیستشون رو ببینی، یا آزادشون کنی. دوم، بررسی پکت: میتونی لیست پکتها رو با فیلتر نمایشی Wireshark ببینی، جزئیات کامل درخت پروتکل یه فریم مشخص رو بگیری، یا فیلدهای دلخواه رو استخراج کنی.
برای مثال، اگه بخوای فقط queryهای DNS رو بررسی کنی، میتونی از ابزار extract_fields استفاده کنی که دادهها رو به شکل جدول برمیگردونه. نتایج اسکنهای سنگین مثل conversations، expert_info و export_objects در حافظه کش میشن تا درخواستهای بعدی سریعتر جواب بگیرن.
دسته سوم ابزارها مربوط به ساختار ترافیکه: میتونی سلسلهمراتب پروتکلها رو ببینی، آمار I/O رو بررسی کنی، جریانهای TCP/UDP/HTTP و... رو دنبال کنی، و مکالمات بین هاستها رو با جزئیات بایت و فریم مشاهده کنی.
دسته چهارم آمار پروتکلهاست: ابزار expert_info ناهنجاریهای هر فریم رو شناسایی میکنه، ابزار protocol_stats برای پروتکلهایی مثل DNS، HTTP، SIP و DHCP آمار کلی میده، و service_response_time تاخیر درخواست/پاسخ برای پروتکلهایی مثل SMB، LDAP و SNMP رو محاسبه میکنه.
دسته پنجم مربوط به VoIP و مدیاست: میتونی تماسهای SIP/H.323 رو لیست کنی، جریانهای RTP رو با اطلاعات jitter و packet loss بررسی کنی، و استریمهای multicast UDP رو تحلیل کنی. در نهایت هم میتونی آبجکتهای HTTP، FTP، SMB و... رو از داخل ترافیک استخراج و دانلود کنی.
یه مثال ساده از جریان کار با SharkMCP اینه که اول فایل رو لود میکنی، بعد سلسلهمراتب پروتکلها رو میبینی، مشکلات رو با expert_info بررسی میکنی، مکالمات TCP رو میبینی، فیلدهای DNS رو استخراج میکنی و در نهایت جریان HTTP رو دنبال میکنی — همه اینا با دستورات ساده به LLM.
نکات کلیدی:
- SharkMCP رابط sharkd وایرشارک رو به ابزارهای قابل استفاده توسط LLM تبدیل میکنه
- هر فایل PCAP یه پروسه sharkd مجزا داره و جلسهها کاملاً ایزولهان
- نتایج اسکنهای سنگین کش میشن تا درخواستهای بعدی سریعتر باشن
- پوشش گستردهای از ابزارها: از بررسی پکت تا VoIP، DNS، HTTP، TLS و استخراج آبجکت
- از طریق ابزار tap میتونی مستقیم با هر tap معتبر sharkd کار کنی
- نیاز به Python 3.10+ و نصب Wireshark داره




