از wireshark تا scapy و tshark 😁 :: Mr Python | مستر پایتون

از wireshark تا scapy و tshark 😁

  • ۶۱۸

از wireshark تا scapy و tshark

 

درود به همه

 

امروز تصمیم گرفتم یه پستی بنویسم که یکم از فضای اسکریپت نویسی و کد نویسی دور بشیم و یه سری به بعضی ابزار هایی که توی دنیای شبکه و امنیت خیلی کاربرد دارن بزنیم . منظورم از این ابزار ها ، ابزار هایی هستن که برای شنود ، آنالیز و تحلیل پکت ها و داده ها در شبکه استفاده میشن .

از ابزار های گرافیکی مثل wireshark شروع میکنیم تا برسیم به ابزار های روی خط فرمان مثل tshark یا حتی بعضی کتابخانه ها وماژول ها مثل scapy که همشون برای شنود و تحلیل شبکه به کار میرن .

بهتره با یه توضیح و توصیف کلی شروع کنیم . این ابزار ها دقیقا چی هستن ؟ کجا به درد میخورن ؟ به درد چه کسایی میخورن ؟

 

خب برای جواب دادن به سوال اول باید بگم که به وسیله ی این ابزار ها میشه ۱ - پکت ها و داده های انتقالی در شبکه رو شنود کرد . و ۲ - این اطلاعات شنود شده رو تحلیل کرد یا حتی گاهی اوقات بهشون یه سری چیزا تزریق کرد و تغیرشون داد یا حتی پکت های دلخواه تولید کرد و فرستاد توی شبکه . و ما با جمع بندی همه اینا میگیم این ابزار ها  برای تحلیل شبکه هستن .

 

فک میکنم برای سوال اول کافی باشه . سوال اولو به تدریج تا آخر این پست جواب های بیشتری براش پیدا میکنیم .

 

و اما سوال دوم و سوم رو باهم جواب میدیم . یکی از اصلی ترین و اساسی ترین مهارت های یک تستر نفوذ اینه که اون چیزی که داره توی شبکه و کامپیوتر اتفاق میافته رو درک کنه . درک کردن یعنی اینکه اونارو خوب بفهمه و بتونه تحلیلشون کنه . بنابراین اینجور افراد قطعا باید توانایی نسبتا خوبی در کار کردن با اینجور ابزار هارو داشته باشن .  این ابزار ها در جاهای مختلفی به کار میاد از مقاصد آموزشی گرفته تا عیب یابی شبکه و دیدن اینکه چه چیزی داره اتفاق میافته تو شبکه و حتی در مقاصد سوء هم به کار گرفته میشن .

 

خب اما سوال بعدی اینه که این ابزار ها روی چه چیزی شنود انجام میدن ؟ روی شبکه داخلی یا ...

ببینید ما یه برد سخت افزاری داریم بهش میگن کارت شبکه . کارش چیه ؟ یه مدار الکترونیکی هستش که میتونه سیگنال های شبکه رو دریافت و ارسال کنه و در واقع کامپیوتر به وسیله ی همین کارت شبکه میتونه به شبکه وصل بشه . حالا کارت شبکه های مختلف روی بستر های مختلفی فعالیت میکنن . مثلا یه کارت شبکه روی بستر وایرلس یا بیسیم فعالیت میکنه بنابراین با امواج وای فای سروکار داره . یا یه کارت شبکه دیگه حالت بیسیم پشتیبانی نمیکنه و با سیم باید اطلاعات رو ارسال و دریافت کنه .

شاید شما هم کامپیوتری داشته باشید که به صورت پیشرفض کارت شبکه وای فای نداره بنابراین نمیتونید باهاش محیط رو اسکن وای فای کنید و بهشون وصل بشید . بنابراین رفتید و براش یه کارت شبکه وایرلس خریدید . تصویر زیر یه کارت شبکه وایرلس هستش که به صورت اکسترنال وصل میشه به سیستم شما و به سیستم شما این قابلیت رو میده که بتونه سیگنال های امواج بیسیم رو ارسال و دریافت کنه .

 

 

چی داشتیم میگفتیم ؟ داشتیم میگفتیم که ابزار های تحلیل شبکه از کجا شنود میکنن . این ابزار ها از طریق کارت های شبکه مختلف شنود میکنن . برای مثال اگر شما به این ابزار ها بگید که روی کارت شبکه LAN شما شنود کنه خب فقط روی پکت های انتقال روی LAN رو شنود میکنه . یا اگه بگید روی کارت شبکه وایرلس شنود کنه خب اطلاعات انتقالی روی همون کارت شبکه یعنی امواج وایفای رو شنود میکنه .

پس تا اینجا فهمیدیم که این ابزار ها از کجا شنود میکنن .

 

توضیحات دیگه بسه بریم عملی کار کنیم .

اول از ابزار های گرافیکی شروع میکنیم . یکی از بینظیر ترین این ابزار ها ابزار  wireshark هستش . این ابزار هم نسخه ی ویندوز داره و هم نسخه ی لینوکس . من دارم روی لینوکس اجراش میکنم .

اول که برنامه رو باز میکنم ازم میپرسه میخوای روی چه کارت شبکه ای برات شنود انجام بدم  . (تصویر زیر)

 

 

خب من کارت شبکه ای رو انتخاب میکنم که باهاش به شبکه وصلش شدم چون میخوام شبکه رو شنود کنم .

 

بعد از انتخاب کارت شبکه یهو میبینیم که بوممممممممم !‌کلی پکت هی داره شنود میشه . (تصویر زیر)

 

 

این پکت ها در واقع همون اطلاعات انتقالی توی شبکه هستن که wireshark برامون شنود میکنه .

حالا برای اینکه این شنود رو بیشتر حس کنیم من با سیستم خودم روترمون با آی پی 192.168.1.1 رو پینگ میکنم . (تصویر زیر)

 

 

خب میدونید که ابزار پینگ از پروتکل ICMP استفاده میکنه . بنابراین به محض اینکه عملیات پینگ انجام میشه وایرشارک کلی بسته با پروتکل ICMP ضبط میکنه و آدرس مبدا و مقصد رو هم نوشته . (تصویر زیر)

 

 

دیدید چقد جالبه کار با این ابزار . حالا داخل وایرشارک میشه یه سری فیلتر هایی رو هم اعمال کرد .

اگه توجه کنید بالای ابزار یه ورودی هست که میشه داخلش فیلتر های خاصی رو اعمال کرد .

مثلا من دوباره مثل قبل روتر رو پینگ میکنم و عبارت icmp رو در بخش فیلتر مینویسم و اینتر میزنم . با اعمال این فیلتر فقط بسته هایی که از پروتکل icmp استفاده میکنن رو به من نشون میده . (تصویر زیر)

 

 

حالا فرض کنید یه هکر مخ این ابزار باشه و کلی فیلتر ازش بلد باشه دیگه خودتون ببینید چقد میتونه اطلاعات مفید از شبکه بدست بیاره .

 

خب تا اینجا از وایرشارک صحبت کردن دیگه بسه . بزارید چنتا منبع برا یادگیریش بهتون معرفی کنم .  البته بگم یادگیری اینجور نرم افزار ها برای کسی مفیده که شبکه بلد باشه وگرنه اگه شبکه ندونه و بخواد این ابزار ها رو یاد بگیره مثل این میمونه که کسی بخواد  رانندگی یاد بگیره ولی ندونه ماشین چیه :)

اگه اهل آموزش های منبع اصلی هستین که این لینک زیر از خود سایت وایرشارکه :

https://www.wireshark.org/download/docs/user-guide.pdf

داخل سایت های فارسی هم که با یکم جستوجو یه سری خرده آموزش هایی پیدا میکنین . پس گوگل کردن بر عهده خودتون :)

یکی از مهمترین بخش های یادگیری وایرشارک یادگرفتن فیلتر هاشه که رفرنس ها و منابع زیادی براش هست .

لینک زیر یه برگه تقلب (cheat sheet) برای فیلتر های وایرشارکه :

https://freedevelop.org/wp-content/uploads/Wireshark_cheatsheet3.pdf

 

اما ابزار بعدی که معرفی میکنیم ابزار Tshark هستش . ابزار تی شارک دقیقا کار همون وایرشارک رو انجام میده فقط تفاوتش اینه که گرافیکی نیست و تحت خط فرمانه و البته این براش یک عیب محسوب نمیشه کلی خوبی بهش اضافه میشه با اینکار . گاهی اوقات ابزار های خط فرمان به گرافیکی ترجیح داده میشه به خاطر دسترسی راحتی که داره .

 

برای مثال در تصویر زیر یه شنود  با ابزار Tshark مثل همون وایرشارک رو انجام دادیم:

 

 

برای یادگیری tshark خود help ابزار کمک شایانی به شما میکنه . به man page  هم سر بزنید حتما .

اینم یه برگه تقلب برای Tshark :

https://wiki.sans.blue/Tools/pdfs/tshark.pdf

 

اما غیر از Tshark یه سری کتابخونه ها و ماژول هایی هم نوشته شدن که کار همین وایرشارک و اینا رو انجام میدن . یعنی پکت ها رو شنود میکنن و میشه باهاشون تحلیل و آنالیزشون کرد یا حتی میشه باهاشون پکت تولید کرد . این ماژول ها به درد زبان های برنامه نویسی میخورن . برای مثال یکی از معروف ترین ماژول ها توی این زمینه ماژول scapy هستش که کاملا با زبان پایتون سازگاره و توی اسکریپت های پایتون میشه ایمپورتش کرد یا به عبارتی وارد اسکریپت کرد و ازش برای کار هایی مثل شنود و تحلیل پکت های شبکه استفاده کرد .

 

نظرات: (۰) هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی