من یک پینگ لایه 4 عمومی در جعبه ابزار خود نداشتم. در ابتدا در جستجوی یک پینگ TCP صرف ، Nping را پیدا کردم که کاملاً نیازهای من را برآورده می کند و خیلی بیشتر می دهد. ؛)
پینگ لایه چیست و چرا؟ -> یک پینگ معمولی (= درخواست پژواک ICMP) نشان می دهد که آیا آدرس IP مقصد ، یعنی: فقط سرور / ماشین مجازی فعال و فعال است. این برای شبکه 3 لایه بسیار خوب است زیرا مسیریابی به مقصد از قبل کار می کند. با این حال ، این نشان نمی دهد که یک سرویس در لایه 4 (TCP یا UDP) نیز فعال و یا فعال است. این همان چیزی است که یک لایه 4 پینگ دارد: ارسال TNC SYN به درگاه مورد نظر ، منتظر "SYN ACK" (پورت در حال گوش دادن است) یا "RST" / بدون پاسخ (درگاه موجود نیست) موارد استفاده معمول: در انتظار شروع مجدد سرویس پس از ارتقا، یا انتظار برای سیاست های جدید فایروال (اجازه یا رد) درگاه خاص.
در حالی که من از برخی ابزارهای ویژه برای پینگ های پروتکل لایه بالا استفاده کردم (ref: Advanced پینگ: https ، dnsping ، smtpping) ، هنوز یک مورد عمومی را از دست داده بودم ، زیرا می خواستم چندین پورت TCP دیگر را به سبک پینگ تست کنم. برای Traceroute لایه 4 ، چندین سال پیش وبلاگ نوشتم.

Nping
"Nping ابزاری منبع باز برای تولید بسته های شبکه ، تجزیه و تحلیل پاسخ و اندازه گیری زمان پاسخ است" ، https://nmap.org/nping/. با نصب Nmap که Nping به آن تعلق دارد ، به راحتی می توانید آن را در هر سیستم لینوکس مبتنی بر Debian / Ubuntu دریافت کنید:
استفاده از آن برای TCP / UDP ساده است. به سادگی از
– گزینه tcp همراه با درگاه مورد نظر
-p
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
وبرجو @ ] nb15 – lx : ~ $ sudo nping – tcp – [19659041] p 22 lx3 . weberlab . de شروع Nping 0.7.01 ( https : // nmap.org/nping) در 2021-04-22 12:21 CEST SENT ( 0.0791s ) TCP 192.168.3.85 : 1181 85 .94.29 : 22 S [19659030] ttl = 64 id = 19852 iplen = 40 ] ] = 4080408859 پیروز = 1480 RCVD ( 0،2650s ] TCP 85.215.94.29 : 22 > 192.168.3.85 : 1181 SA 1181 SA = 54 شناسه = 0 iplen = 44 Seq = 847 win = 29200 < mss 1460 > SENT ( 1.0793s ) TCP 192.168.3.85 : 1181 > 85.215.94.29 [196590318]: ] 22 [19659041] S ttl = 64 id = 19852 iplen = 40 ] seq = 4080408859 win = 1480 RCVD ] ) TCP 85.215.94.29 : 22 > 192.168.3.85 : 1181 : ttl = 54 id = 0 iplen = 44 Seq 44 19659031] = 863592152 برنده = 29200 < mss 1460 > ] SENT ( 2.0811s ) TCP 192.168.3.85 : 1181 > 85 94.29 : 22 S ttl = 64 id = 19852 1990 ] = 40 seq = 4080408859 برنده = 1480 RCVD RCVD 19659029] ( 2.2650s ) TCP 85.215.94.29 : 22 > 192.168.3]: 1181 SA ttl = 54 id = 0 iplen ] = = 44 seq = 879302070 برنده = 29200 < mss mss 1460 SENT ( 3.0831s ) TCP 192.168.3.85 : 1181 : 19659031]> [19659042] 85.215.94.29 : 22 S ttl = 64 id = 19852 [19659078] iplen = 40 seq = 4080408859 برنده = 1480 = 1480 = RCVD ( 3.2650s ) TCP 85.215.94.29 : 22 22 22 ] 192.168.3.85 : 1181 SA ttl = 54 id = 0 iplen = 44 seq = 895059280 برنده = 29200 m m 19659042] 1460 > SENT ( 4.0851s ) TCP 192.168.3]: 1181 [19659078] > 85.215.94.29 : 22 S ttl = 64 64 19659031] = 19852 iplen = 40 seq = 4080408859 4065 ] 1480 RCVD ( 4.2650s ] TCP 85.215.94.29 ] 19659078] > 192.168.3.85 : 1181 SA ttl = 54 id ] [ 0 iplen = 44 seq = 910622060 برنده = 29200 = 29200 19659031] < mss 1460 > ماکس RTT : 185.982ms | ] حداقل RTT [19659031]: 179.872ms | میانگین RTT : 183.451ms بسته های خام : 5 ( 200B ) | Rcvd : 5 ] ( 230B ) | گمشده : 0 ( 0.00 ٪ ) Nping انجام شد : 1 IP آدرس پین شده در 4،29 ثانیه |
مشاهده بسته ها با Wireshark کمی عجیب به نظر می رسد زیرا بسیاری از خرابی های TCP [TCP Retransmission] را نمایش می دهد. مهم نیست ، این یک رفتار صحیح از نظر ابزار پینگ لایه 4 است. پس از دریافت [SYN, ACK] از سرور ، Nping [RST] را می فرستد تا جداول جلسات را در سرور و دیوارهای فایروال NAT / واسطه آزاد کند.
مأموریت انجام شد: آزمایش اینکه آیا پورت مقصد گوش می دهد یا نه.
برخی یادداشت ها / هشدارها:
- استفاده از Nping برای پینگ کردن سرور HTTP / HTTPS بهترین راه نیست ، زیرا فقط SYN های TCP را ارسال می کند اما هیچ HTTP GET یا موارد مشابهی ارسال نمی کند. به جای آن از httping استفاده کنید.
- این فقط نوک کوه یخ Nping است. شما می توانید کارهای بسیار بیشتری انجام دهید ، به عنوان مثال ، انواع مختلفی از پینگ های مبتنی بر ICMP (یعنی: نه تنها درخواست اکو بلکه هر نوع ICMP) و همچنین برخی موارد ARP / RARP. خوب!
- من در در استفاده از Nping با IPv6 مشکل دارم. پینگ ها ارسال می شوند اما RCVD نیستند. آن را روی سیستم های مختلف آزمایش کرد ، اما موفق نشد. ممکن است مربوط به لیست Nping To-Do باشد که در آن می گوید: "پشتیبانی از IPv6 را بهبود ببخشید. در حال حاضر خوب کار نمی کند. " ؛)
- همانطور که در تصویر صفحه Wireshark دیده می شود ، Nping از هر پینگ از همان پورت منبع استفاده می کند. به نظر من ، باید از یک پورت منبع تصادفی متفاوت برای هر پینگ استفاده کند تا "جریان های tcp" منحصر به فرد در بین پینگ ها داشته باشد. حداقل به صورت اختیاری.
- کاربران ویندوز می توانند از "tcping.php" برای پینگ های لایه 4 استفاده کنند.
PS: من هنوز یک ابزار sshping را ندارم که برای ورود به سیستم SSH یا حداقل یک بار دست دادن است در ثانیه هنوز موردی پیدا نکرده اید.
عکس استیون اسکریت در Unsplash.