ضف من هامش الدولارات, ودول المبرمة إذ كلا, كل ضرب بشرية اليها المتحدة. اعلان التخطيط قد بها, أن رئيس اتّجة أخذ. وقبل باستخدام أي حتى, أهّل تزامناً الدنمارك لم أما. أجزاء وقامت ويكيبيديا كل ضرب. جعل بالرغم الجديدة، بـ, قد وانهاء واستمر تحت. يكن بـ فكان بخطوط مكثّفة.
به عنوان بخشی از این سری از مقالات ، ما یک تونل VPN از یک تلفن هوشمند به شبکه خانگی به دلایل امنیتی ساخته ایم. سرور VPN مرکزی Raspberry Pi است. علاوه بر این ، ما Pi-Hole را نصب کردیم تا نام ، تبلیغات و خدمات ردیابی مسدود شود . رابط وب Pi-Hole نگاهی آشکار به همه نامهای دامنه درخواست شده توسط مرورگرها و برنامه های کاربردی در تلفن هوشمند شما ارائه می دهد. و به همین ترتیب در کلیه روابط ارتباطی که تلفن هوشمند می خواهد با آن مقابله کند. اکنون می خواهیم یک قدم جلوتر برویم. Pi-Hole فقط نام دامنه درخواستهای ارتباطی را نشان می دهد ، و Wireshark ما هر بسته داده را می بینیم .
Wireshark چیست؟
نقل قول ویکی پدیا:
سیم Wireshark
سیم "سیم" ، "کابل" و کوسه "کوسه" نرم افزار رایگان برای تجزیه و تحلیل گرافیکی و پردازش پروتکل های داده است ( Sniffer ) ، که در سال 2006 به عنوان برنامه Fork Ethereal تأسیس شد (انگلیسی "آسمانی" ، "اتری" ، تمایل به اترنت).
ویکی پدیا
Wireshark snoop برای داده های شبکه است که می تواند تمام بسته های داده را در یک خط رمزگشایی کند و آنها را در یک رابط کاربر گرافیکی تجسم کند.
چه کسی مجموعه کامل مقالات را با دقت خوانده است ، اکنون ممکن است یک تضاد جزئی وجود داشته باشد: رابط کاربری گرافیکی در Raspbian Lite؟ البته این امکان پذیر نیست ، Raspbian Lite نسخه بدون دسکتاپ است.
چگونه کار می کند؟
Wireshark عملکرد هوشمندانه ای دارد ، یعنی کاوشگرهای از راه دور کاوشگرهای دور. چیزی که در ترجمه کمی شرم آور به نظر می رسد ، چیزی غیر از توانایی برنامه برای خرج کردن نه تنها بر روی رایانه شخصی شما بلکه در رایانه دیگری است . ما Wireshark را بر روی دستگاه دیگری تحت لینوکس با یک میز کار گرافیکی یا ویندوز نصب می کنیم و در Raspberry Pi کاوش از راه دور وجود دارد بنابراین نرم افزاری را بررسی می کنیم که داده ها را در آنجا ضبط می کند.
نصب
الف) Wireshark نسخه کامل با رابط کاربری گرافیکی
برای ویندوز و macOS می توانیم نرم افزار را از اینجا بارگیری کنیم: https://www.wireshark.org/#downloadownload19459029] سپس سیستم عامل را طبق معمول نصب کنید . با لینوکس آسان است:
sudo apt install wireshark
b) کاوش از راه دور در Raspberry Pi
(حداقل) دو نوع وجود دارد ، Wireshark خود نرم افزار پروب از راه دور را با نام Tshark که به سادگی روی Raspberry Pi نصب شده است:
sudo apt install tshark
می خواهم tcpdump را به جای Tshark توصیه کنم ، بنابراین پیکربندی کمی ساده تر شود ، Tcpdump را روی تمشک Pi نصب کنید به شرح زیر
sudo apt install tcpdump
پس از نصب می توانیم ببینیم که کدام یک از رابط tcpdump را تشخیص می دهد:
sudo tcpdump -D
1.wlan0 [Up, Running]
2. tun0 [Up, Running]
3. هر (دستگاه شبه که در تمام رابط ها ضبط می شود) [Up, Running]
4.lo [Up, Running, Loopback]
5.eth0 [Up]
6. bl Bluetooth0 (آداپتور بلوتوث شماره 0)
7.usbmon1 (اتوبوس USB شماره 1)
جالب برای ما tun0 رابط تونل VPN. ما همچنین می توانیم چیزی شبیه به tcpdump را سرقت کنیم:
sudo tcpdump -i tun0
tcpdump: خروجی کامل غیرفعال ، برای رمزگشایی کامل پروتکل از -v یا -vv استفاده کنید
گوشه های مربوط به tun0 ، نوع پیوند RAW خام ، 262144 بایت را ضبط می کند
19: 10: 53.833286 IP 10.8.0.2.54959> ws-in-f188.1e100.net.5228: Flags [P.] seq 4098271724: 4098271826، ack 4254323531، win 821، گزینهها [nop,nop,TS val 2387026 ecr 3591683413] طول 102
19: 10: 53.887223 IP ws-in-f188.1e100.net.5228> 10.8.0.2.54959: پرچم ها [.] ack 102 ، برنده 253 ، گزینه ها [nop,nop,TS val 3592334699 ecr 2387026] طول 0
19: 10: 54،280333 IP 10.8.0.2.49647> 10.8.0.1. دامنه: 57842+ A؟ apps.n-tv.de. (30)
19: 10: 54،315707 IP 10.8.0.1. دامنه> 10.8.0.2.49647: 57842 5/0/0 CNAME d1rorojlyakfyp.cloudfront.net. ، A 99.84.92.98 ، A 99.84.92.70 ، A 99.84.92.41 ، A 99.84. 92.14 (137)
Ctrl-C عملکرد بسته های داده را محدود می کند. تبلیغات کاملاً اسرارآمیز است ، اما در هر مورد ما آدرس مثال 10.8.0.2 را چندین بار در مثال خود مشاهده خواهیم کرد. این مشتری VPN ماست.
پیکربندی و ثبت نام
در زیر فرض می کنم که Raspberry Pi tcpdump به عنوان کاوشگر از راه دور نصب شده است ، نه Tshark. بنابراین ما به یک رایانه رومیزی می رویم و از آنجا شروع می کنیم Wireshark . ابتدا باید رابط را انتخاب کنیم که Wireshark بر روی آن خرج شود.
برای این کار ، قبل از SSH از راه دور SSH ضبط را بر روی سخت افزار کوچک سیاه کلیک کنید و سپس یک ویندوز را با گزینه های رابط کاربری دریافت می کنیم.
در این پنجره ، همه مواردی را که Wireshark برای دسترسی به تمشک پی از طریق SSH نیاز دارد تنظیم می کنیم و شروع به ضبط در آنجا می کنیم. اینها عبارتند از:
آدرس سرور از راه دور SSH : نام Raspberry Pi یا آدرس IP
درگاه سرور SSH از راه دور : همیشه 22 برای SSH
نام کاربری سرور SSH از راه دور : کاربر در تمشک Pi ، معمولاً Pi
رمز عبور سرور SSH : رمز عبور کاربر
رابط از راه دور : رابط تونل (که ما بعد از نصب شناسایی کردیم)
فرمان ضبط از راه دور : در هنگام استفاده می توان خالی ماند. با tcpdump ، زیرا tcpdump به طور پیش فرض است. اگر از Tshark استفاده می کنید ، باید وارد شوید.
از sudo روی دستگاه از راه دور استفاده کنید : لطفا جعبه را بررسی کنید
فیلتر ضبط از راه دور : هیچ چیز لازم نیست در اینجا وارد شوید ، این امر باعث می شود Wireshark به تنهایی
که بین Raspberry Pi و رایانه پیکربندی شده است. احراز هویت کلید عمومی تا نیازی به وارد کردن رمز عبور از طریق SSH به RasPi نباشد (که من آن را بسیار توصیه می کنم) ، که می توانید در زیر پیدا کنید مسیر مسیر کلید خصوصی ssh پرونده .ssh / id_rsa را انتخاب کنید و رمز عبور را رها کنید.
تریلر از Tshark به عنوان یک کاوشگر از راه دور باید کمی با تنظیمات آزمایش کند ، زیرا در اینجا در ماسک پیکربندی از دستور باید از Remote Capture استفاده کرد. برای من به خوبی با / usr / bin / tshark -i tun0 -s0 -w - کار کرد.
برای شروع روی کلیک کنید تا ضبط را شروع کنید و بعد از چند ثانیه اولین داده ها باید برسند. به نظر می رسد چیزی شبیه به این است:
پنجره ضبط از سه بخش تشکیل شده است . در بالای (پس زمینه مایل به آبی) فریم های فردی (بسته های داده) قابل مشاهده است. اگر روی یکی از آنها کلیک کنید (به رنگ نارنجی برجسته شده است) ، این بسته داده در پنجره وسط آنالیز می شود و در پنجره پایین (پس زمینه مایل به قرمز) در سطح بایت و ترسیم نمایش داده می شود. می توانید با کلیک کردن روی مربع قرمز در بالای نوار ابزار ضبط کنید و سپس ضبط نیز می تواند ذخیره شود.
ضبط و ارزیابی
چگونه می توان دقیقاً همان چیزی را که می خواهید ادامه دهید و ضبط کرد؟ Wireshark به شما امکان می دهد فیلترهای گزارش و گزارش را پیکربندی کنید تا بتوانیم آنچه را که می خواهیم ضبط کنیم محدود کنیم و دوباره آنها را نمایش دهیم. اما متأسفانه نمی تواند با برنامه تلفن هوشمند همراه باشد. ما نمی توانیم Wireshark بگوییم: "هر آنچه را که برنامه ارسال می کند ضبط کنید." این کار را کمی دشوار می کند. رویکرد زیر ممکن است مفید باشد:
اگر Pi-Hole نصب شود ، ابتدا باید تصمیم بگیریم که آیا Pi-Hole هنگام ضبط باید فیلتر کند یا می خواهیم همه روابط ارتباطی را ببینیم
تلفن های هوشمند باید داشته باشند. تا آنجا که ممکن است چند برنامه کاربردی وجود داشته باشد که ممکن است بخواهند از طریق اینترنت ارتباط برقرار کنند. در صورت لزوم ، می تواند یکبار تلفن هوشمند را راه اندازی مجدد کند.
اکنون در رایانه شخصی در Wireshark یک رکورد جدید را شروع کنید .
و سپس برنامه را که ارتباط ما از آن استفاده می شود
را آغاز کنیم ، اگر انتظار می رود همه داده ها ارسال شوند ، می توانیم ضبط را متوقف کنیم و به ارزیابی برویم
GGF. ضبط .
من فقط در مورد برنامه تلفن هوشمند صحبت می کردم که البته می تواند یک مرورگر باشد که ما برای مرور وب سایت از آن استفاده می کنیم ، اجازه دهید به چنین نمونه ای نگاه کنیم.
این بالای سه پنجره صفحه نمایش Wireshark است. در اینجا همه فریم های داده را به ترتیب زمانی مشاهده می کنیم. بگذارید مثلاً به بعضی از آنها نگاه کنیم. باکس 9: در اینجا ، تلفن هوشمند (آدرس IP 10.8.0.3) درخواست HTTP GET را به آدرس بعد از jsonp.eu ارسال می کند. این چیزی است که یک وب سایت نامیده می شود.
قاب 14 : و اینجا نیز صفحه است. بیایید نگاهی دقیق تر به این جعبه بیاندازیم. 14.
Box 19 : در اینجا تلفن هوشمند (10.8.0.3) درخواست DNS را به آدرس 10.8.0.1 ارسال می کند. این آدرس تونل Raspberry Pi VPN است و Raspberry Pi مسئول سرور DNS برای تلفن هوشمند است. اینگونه است که ما آن را تنظیم کردیم. نام vg08.met.vgwort.de خواسته شد. اول از همه ، ما نمی دانیم که آیا ارتباطی با وب سایت تازه بارگذاری شده دارد یا خیر ، اما به دلیل نزدیکی موقت می توانیم فرض کنیم.
Box 20 : این پاسخ DNS است که Raspberry Pi به مرورگر ارسال می کند ، و در فریم های بعدی مرورگر برای بارگیری پیکسل ردیابی با سرور VG ارتباط برقرار می کند.
بیایید جزئیات بیشتری را به Frames 14
پنجره وسط نمایش جزئیات هر فریم برچسب بالا را نشان می دهد و ارزیابی را در سطوح مختلف گزارش انجام می دهد. در بالا قاب داده و طول آن است ، و سطح پروتکل IP دنبال می شود. در اینجا آدرس های IP فرستنده و گیرنده را مشاهده می کنیم. در پروتکل اینترنت ، پروتکل کنترل انتقال ، TCP را ساخت و سپس 4 بخش را لیست می کند ، که سپس سطح بعدی را تشکیل می دهند – این فریم های قبلی از 11 تا 14 هستند. من این همه سطح پروتکل را در تصویر مثال فرو ریختم. می توانید مثلث ها را در ابتدای خط کلیک کرده و اطلاعات بیشتری کسب کنید. سطح بعدی را باز کردم ، پروتکل انتقال Hypertext HTTP در اینجا به رنگ آبی ، در اینجا به عنوان مثال می بینید که این نسخه HTTP 1.1 است و وضعیت 200 خوب است. این به دنبال جزئیات بیشتر ، به عنوان مثال ، این است که یک سرور آپاچی است ، و در آخر محتوای واقعی قاب قاب (payload) در زیر داده متن مبتنی بر خط ظاهر می شود. این متن HTML وب سایت است که می تواند به خوبی خوانده شود. حتی اگر به سطح بایت های رتبه بندی برویم ، می توانیم متن را ببینیم.
اگر خط را در پنجره وسط انتخاب کنیم ، محتوا را در پنجره پایین بایت توسط بایت دریافت می کنیم ، در اینجا در این مثال متن بر اساس خط از قاب پاسخ HTTP. دوباره ، ما آغاز HTML وب سایت را می بینیم – چپ به عنوان بایت ، سمت راست به عنوان شخصیت های قابل خواندن ترجمه شده است.
تاکنون معرفی کوتاه برای همکاری با Wireshark. این برنامه پیچیده است و ساختار داده های شبکه نیز هستند. هیچ کس نگران نباشد اگر همه چیزهایی را که Wireshark به او نشان می دهد نفهمد – من فقط دانش بنیادی دارم. در بخش زیر قسمت 11 در این مجموعه از مقالات همچنین نمودار شبکه ای برای Wireshark وجود دارد.
اکنون همه برنامه ها لعاب دارند؟ متأسفانه خیر!
با استفاده از Wireshark ، ما برنامه sniffer را روی سرور VPN خود نصب کردیم ، که از طریق آن همه بسته های داده را بین تلفن های هوشمند و اینترنت ارسال می کنیم. اما آیا اکنون می توانیم تجزیه و تحلیل کنیم که چه برنامه های خاص در تلفن هوشمند داده ارسال می کند؟ متأسفانه ، No. زیرا این داده ها تقریباً همیشه رمزگذاری شده هستند.
در مثال تجزیه و تحلیل فوق ، من یک وب سایت HTTP را ثبت کردم – که رمزگذاری نشده است ، بنابراین می توانید محتوای HTML را به صورت متن ساده در پرونده اطلاعات بخوانید. اگر این یک وب سایت رمزگذاری شده HTTPS باشد ، کار نخواهد کرد زیرا هدف از رمزگذاری این است که داده ها قابل خواندن نیستند. این مورد در مورد برنامه ها است. هر چیزی که در مورد ارتباط برنامه هنگام تهیه این مقاله دیدم از طریق HTTPS انجام می شود. اگرچه می بینیم با چه کسی ارتباط برقرار می کنیم – این به دلیل حل اسم است – ما [بسته های داده] را نمی بینیم. متأسفانه ، ما نمی توانیم چنین مدرکی را با اثبات ارائه کنیم که به عنوان مثال ، برنامه xyz اطلاعات مکان تلفن هوشمند را خوانده و آن را به سازنده برنامه گزارش می دهد.