Skip to content

Instantly share code, notes, and snippets.

@MHitMaN
Last active February 19, 2026 22:06
Show Gist options
  • Select an option

  • Save MHitMaN/8e1c025af727ce5efde1b8163ed33913 to your computer and use it in GitHub Desktop.

Select an option

Save MHitMaN/8e1c025af727ce5efde1b8163ed33913 to your computer and use it in GitHub Desktop.

Testing Connectivity When ICMP Is Blocked (Firewall / DPI / GFW / Country-Level Restrictions)

تست ارتباط در شرایط مسدود بودن ICMP (Firewall / DPI / GFW / محدودیت‌های سطح کشوری)

🇮🇷 فارسی

وقتی پینگ (ICMP) یک سرور به بیرون بسته است، لزوماً به این معنی نیست که هیچ ارتباطی برقرار نمی‌شود. در بسیاری از شبکه‌ها فقط ICMP مسدود شده ولی ترافیک TCP یا UDP همچنان برقرار است.

این وضعیت معمولاً در سناریوهای زیر دیده می‌شود:

  • فایروال‌های سخت‌گیرانه (Strict Firewall Policies)
  • سیستم‌های DPI (Deep Packet Inspection)
  • سامانه‌هایی مانند GFW (Great Firewall)
  • محدودیت‌های سطح کشوری (Country-Level Access Restrictions)
  • محدودیت دسترسی بر اساس IP کشور (Geo/IP Filtering)
  • محیط‌های دیتاسنتری با سیاست‌های امنیتی محدودکننده

در چنین شرایطی ممکن است:

  • دستور ICMP به صورت کامل Drop می شود
  • برخی پورت‌ها بسته باشند
  • برخی سرویس‌ها Rate Limit شوند
  • دسترسی از برخی کشورها محدود شده باشد
  • اما همچنان بعضی پورت‌ها (مثلاً 53، 443، 80) فعال باشند

به همین دلیل ابزارهایی مانند hping3 برای تست سطح TCP مفید هستند.


مثال: تست ارتباط با DNS گوگل روی پورت 53

hping3 -S -p 53 -c 3 8.8.8.8
نمونه خروجی:
HPING 8.8.8.8 (eth0 8.8.8.8): S set, 40 headers + 0 data bytes
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=0 win=65535 rtt=40.8 ms
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=1 win=65535 rtt=26.7 ms
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=2 win=65535 rtt=25.8 ms

--- 8.8.8.8 hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 25.8/31.1/40.8 ms

تحلیل:

  • پارامتر -S ارسال TCP SYN
  • پارامتر -p 53 مشخص کردن پورت مقصد
  • خروجی SA (SYN-ACK) یعنی پورت باز است
  • خروجی 0% packet loss یعنی ارتباط TCP برقرار شده

🛠 نصب hping3

لینوکس

Debian / Ubuntu:

sudo apt update
sudo apt install hping3

CentOS / RHEL / AlmaLinux / Rocky:

sudo dnf install hping3

Arch Linux:

sudo pacman -S hping

macOS

brew install hping

Windows (Recommended: WSL)

wsl --install

سپس داخل لینوکس:

sudo apt install hping3

⚠️ نکته مهم

این روش صرفاً برای تست اتصال و عیب‌یابی شبکه در محیط‌های مجاز و کنترل‌شده استفاده می‌شود و هدف آن بررسی وضعیت دسترسی شبکه است — نه دور زدن محدودیت‌ها یا استفاده غیرمجاز.


📄 لایسنس

این سند تحت مجوز Creative Commons Attribution 4.0 (CC BY 4.0) منتشر شده است.

استفاده، بازنشر و ویرایش آن تنها با ذکر منبع مجاز است.

نویسنده: https://gist.github.com/MHitMaN
© 2026 https://gist.github.com/MHitMaN


🇬🇧 English

If ICMP (ping) is blocked, it does not necessarily mean outbound connectivity is fully restricted.

This commonly happens in environments protected by:

  • Strict firewalls
  • Deep Packet Inspection (DPI)
  • National filtering systems (e.g., Great Firewall)
  • Country-level access restrictions
  • Geo/IP filtering policies
  • Data center outbound filtering rules

In such cases:

  • ICMP may be completely dropped
  • Certain ports may be filtered
  • Services may be rate limited
  • Access may be restricted by country
  • But ports like 53 (DNS), 443 (HTTPS), or 80 (HTTP) may still be reachable

Example: Testing Google DNS on Port 53

hping3 -S -p 53 -c 3 8.8.8.8

Sample output:

HPING 8.8.8.8 (eth0 8.8.8.8): S set, 40 headers + 0 data bytes
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=0 win=65535 rtt=40.8 ms
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=1 win=65535 rtt=26.7 ms
len=46 ip=8.8.8.8 ttl=120 DF id=0 sport=53 flags=SA seq=2 win=65535 rtt=25.8 ms

--- 8.8.8.8 hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 25.8/31.1/40.8 ms

Receiving SA (SYN-ACK) responses with 0% packet loss indicates:

  • TCP handshake is possible
  • The port is reachable
  • Outbound connectivity exists on that port

Installing hping3

Linux

sudo apt install hping3

macOS

brew install hping

Windows (Recommended via WSL)

wsl --install

Then:

sudo apt install hping3

⚠️ Important Notice

This guide is strictly for network diagnostics and troubleshooting in authorized or controlled environments. It is not intended for bypassing filtering systems, country restrictions, or engaging in unauthorized activities.


📄 License

This document is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0).

You are free to share and adapt this material, provided that proper attribution is given to the original author.

Author: https://gist.github.com/MHitMaN
© 2026 https://gist.github.com/MHitMaN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment