شبکه به زبان ساده!
1.47K subscribers
237 photos
18 videos
17 files
44 links
📘 آموزش Network
🧠 هر روز یک دستور شبکه
🔥 هر روز یک نکته
🛡 هر روز یک نکته امنیت شبکه
🧩 هر روز یک سناریوی عیب‌یابی
Download Telegram
Forwarded from NetShell
سلام رفقا👋

یه ابزار جدید به اسم netshell-mtu با کمک هوش مصنوعی توسعه دادم 🛠️

برای وقتی که MTU سرور یا VPN درست تنظیم نیست و با چیزایی مثل fragmentation، packet loss یا افت پایداری سروکله می‌زنی.

خودش مسیر رو تست می‌کنه، بهترین MTU رو پیدا می‌کنه و حتی برای تونل‌هایی مثل WireGuard، GRE، VXLAN و… محاسبه رو در نظر می‌گیره.

یه حالت Autopilot هم داره که بعداً خودش وضعیت رو بررسی و در صورت نیاز MTU رو تنظیم می‌کنه.

🔗 سورس پروژه:
https://github.com/NetShell-IR/netshell-mtu

#NetShell #Linux #Networking #MTU #VPN #WireGuard

موفق باشید🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
چهار روش اصلی ارسال داده در شبکه؛ Unicast، Broadcast، Multicast و Anycast
❤11
شبکه به زبان ساده!
چهار روش اصلی ارسال داده در شبکه؛ Unicast، Broadcast، Multicast و Anycast
Broadcast / Unicast / Multicast / Anycast
در شبکه وقتی یک دستگاه می‌خواد داده‌ای رو برای یک یا چند مقصد بفرسته، بسته بر اساس نوع آدرس‌دهی می‌تونه به شکل Unicast، Broadcast، Multicast یا Anycast ارسال بشه.

Unicast یعنی ارتباط یک به یک (1→1). فرستنده مشخصاً
یک مقصد رو انتخاب می‌کنه و بسته فقط برای همون مقصد ارسال میشه. مثلاً وقتی سیستم شما به IP یک Web Server وصل میشه، ترافیک بین کلاینت و همون سرور به صورت Unicast رد و بدل میشه. بیشتر ارتباطات معمول شبکه همین حالت رو دارن.

Broadcast
یعنی یک به همه (1→All). فرستنده بسته رو برای تمام دستگاه‌های یک Broadcast Domain ارسال می‌کنه و همه دستگاه‌ها بسته رو دریافت می‌کنن، حتی اگر برای بعضی‌ها کاربردی نداشته باشه. مثلاً در IPv4 آدرس 255.255.255.255 یک Local Broadcast محسوب میشه. یکی از نمونه‌های معروفش DHCP Discover هست؛ کلاینت هنوز IP نداره و برای پیدا کردن DHCP Server درخواست رو Broadcast می‌کنه. نکته مهم اینکه Router معمولاً Broadcast را از یک شبکه به شبکه دیگر Forward نمی‌کند.


Multicast
یعنی یک به چند عضو مشخص (1→Many). اینجا فرستنده بسته رو برای یک گروه خاص می‌فرسته و فقط دستگاه‌هایی که عضو اون Multicast Group هستن، ترافیک رو دریافت می‌کنن. مثلاً اگر 100 سیستم داخل شبکه باشن ولی فقط 10 سیستم عضو یک Multicast Group باشن، بسته برای همون 10 سیستم ارسال میشه، نه هر 100 دستگاه. پروتکل‌هایی مثل IGMP برای مدیریت عضویت کلاینت‌ها در گروه‌های Multicast استفاده میشن.

Anycast
کمی متفاوت‌تره و بیشتر در طراحی سرویس‌های توزیع‌شده دیده میشه. چند سرور می‌تونن یک آدرس مقصد مشترک داشته باشن و شبکه معمولاً بسته رو به یکی از نزدیک‌ترین/مناسب‌ترین مقصدها بر اساس Routing هدایت می‌کنه. مثلاً در زیرساخت DNS و CDN از Anycast استفاده میشه تا کاربر به یکی از نقاط سرویس‌دهنده که از نظر مسیر شبکه مناسب‌تره برسونه. بنابراین Anycast رو میشه به شکل یک به نزدیک‌ترین/مناسب‌ترین عضو (1→Nearest) در نظر گرفت.

خلاصه‌ اگر بخوای خیلی راحت تو ذهنت بمونه:
Unicast    → 1 → 1       یک فرستنده → یک مقصد
Broadcast → 1 → All یک فرستنده → همه
Multicast → 1 → Many یک فرستنده → اعضای یک گروه
Anycast → 1 → Nearest یک فرستنده → یکی از چند مقصد مشابه

تفاوت اصلی Multicast و Broadcast اینه که Broadcast به کل Broadcast Domain میره، ولی Multicast فقط به اعضای یک گروه مشخص می‌رسه؛ در نتیجه Multicast برای توزیع ترافیک به تعداد زیادی گیرنده می‌تونه بهینه‌تر باشه.

@ModernLan
🔥6❤4👍1
تاریخچه نسخه‌های ویندوز.
👍7❤3👌1
tcpdump🧨
یکی از ابزارهای مهم برای Capture و تحلیل ترافیک شبکه‌ست.
❤7⚡2
شبکه به زبان ساده!
tcpdump🧨 یکی از ابزارهای مهم برای Capture و تحلیل ترافیک شبکه‌ست.
دستورات کاربردی tcpdump

# نمایش تمام ترافیک یک Interface
tcpdump -i eth0

# نمایش Interfaceهای موجود
tcpdump -D

# نمایش IP و Port به‌صورت عددی
tcpdump -i eth0 -n

# نمایش جزئیات بیشتر
tcpdump -i eth0 -nn -v

# گرفتن تعداد مشخصی Packet
tcpdump -i eth0 -c 100

# فقط ترافیک یک IP
tcpdump -i eth0 host 192.168.1.10

# ترافیک ورودی/خروجی مربوط به یک IP
tcpdump -i eth0 src host 192.168.1.10
tcpdump -i eth0 dst host 192.168.1.10

# فقط TCP
tcpdump -i eth0 tcp

# فقط UDP
tcpdump -i eth0 udp

# فقط ICMP
tcpdump -i eth0 icmp

# ترافیک یک Port
tcpdump -i eth0 port 80

# فقط Source Port
tcpdump -i eth0 src port 443

# فقط Destination Port
tcpdump -i eth0 dst port 53

# ترافیک بین دو IP
tcpdump -i eth0 host 192.168.1.10 and host 192.168.1.20

# ترکیب شرط‌ها
tcpdump -i eth0 tcp and port 443

# HTTP
tcpdump -i eth0 tcp port 80

# DNS
tcpdump -i eth0 udp port 53

# SSH
tcpdump -i eth0 tcp port 22

# نمایش Payload به‌صورت ASCII
tcpdump -i eth0 -A

# نمایش Hex و ASCII
tcpdump -i eth0 -XX

# ذخیره Capture برای Wireshark
tcpdump -i eth0 -w capture.pcap

# خواندن فایل Capture
tcpdump -r capture.pcap

# Capture ترافیک یک Subnet
tcpdump -i eth0 net 192.168.1.0/24

# نمایش فقط Packetهای TCP SYN
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'

# نمایش SYN و ACK
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0'

چند ترکیب خیلی کاربردی
tcpdump -i eth0 -nn 'host 192.168.1.10 and tcp port 443'

tcpdump -i eth0 -nn 'src 192.168.1.10 and dst port 22'

tcpdump -i eth0 -nn 'not arp and not icmp'

tcpdump -i eth0 -nn -s 0 -w traffic.pcap

نکته مهم: برای Capture روی Interface معمولاً باید با sudo اجراش کنی:
sudo tcpdump -i eth0

اگر اسم کارت شبکه‌ات eth0 نیست، اول tcpdump -D یا ip link بزن و اسم Interface را پیدا کن.

@ModernLan
🔥6❤4👍1
استار لینک چگونه حکمرانی فضای سایبری در ایران را بی اثر کرد؟

استارلینک ، یکی از چیزاییه که مدل سنتی کنترل اینترنت رو تو ایران به چالش کشیده. دلیلش هم خیلی ساده‌ست؛ اینترنت معمولی ما از یه‌سری زیرساخت زمینی رد میشه؛ یعنی اپراتور، ISP، فیبر، لینک‌های بین‌المللی و دروازه‌های خروجی کشور و طبیعتاً هرجایی که این مسیرها تحت کنترل باشن، امکان فیلترینگ، محدودسازی یا حتی قطع ارتباط وجود داره.

ولی استارلینک مسیر ارتباط رو عوض می‌کنه؛ کاربر با ترمینال خودش مستقیماً به ماهواره‌های LEO وصل میشه و ترافیک از شبکه ماهواره‌ای به اینترنت جهانی می‌رسه، بنابراین برای برقرار کردن این ارتباط لازم نیست مسیر اصلی از اپراتور یا زیرساخت اینترنت داخلی ایران عبور کنه.

همین موضوع باعث میشه وقتی اینترنت زمینی کشور دچار اختلال یا خاموشی میشه، داشتن یک مسیر ماهواره‌ای مستقل بتونه برای بعضی کاربران همچنان امکان دسترسی به اینترنت جهانی رو فراهم کنه. نکته مهم اینجاست که استارلینک به معنی شکست کامل فیلترینگ یا بی‌اثر شدن کامل حکمرانی سایبری نیست؛ چون خود ترمینال‌ها قابل شناسایی هستن، روی سیگنال‌های ماهواره‌ای میشه ایجاد اختلال کرد و حتی تجهیزات فیزیکی هم می‌تونن هدف محدودیت یا جمع‌آوری قرار بگیرن.


ولی اتفاق مهم اینه که معادله عوض شده؛ قبلاً کنترل زیرساخت زمینی تا حد زیادی یعنی کنترل مسیر دسترسی به اینترنت، اما با اینترنت ماهواره‌ای دیگه کنترل فیبر و ISP به‌تنهایی به معنی کنترل تمام مسیرهای ارتباطی نیست. در واقع استارلینک یک لایه ارتباطی خارج از زیرساخت سنتی کشور ایجاد می‌کنه و همین باعث میشه در شرایطی مثل قطعی گسترده اینترنت، برای بخشی از کاربران یک مسیر جایگزین وجود داشته باشه.

مسئله فقط این نیست که استارلینک اینترنت میده؛ مسئله اصلی اینه که بخشی از ارتباط می‌تونه از مسیری انجام بشه که زیرساخت زمینی داخل کشور نقش مستقیمی در ایجاد اون اتصال نداره. همین موضوع مفهوم «کنترل کامل مسیر ارتباطات» رو سخت‌تر می‌کنه و باعث شده اینترنت ماهواره‌ای به یکی از چالش‌های مهم مدل سنتی حکمرانی و کنترل اینترنت تبدیل بشه.


@ModernLan
👍11❤2👏1
ترتیب رنگ سیم‌های کابل شبکه (استاندارد T568B)
👍7👌2
ترتیب رنگ سیم‌های کابل شبکه؛ استاندارد T568A
👏6❤2👍2
😂 ظاهراً داستان استارلینک داره وارد فاز جدیدی میشه!

معاون وزیر ارتباطات گفته با فراگیر شدن استارلینک، ممکنه حتی مجبور بشیم برق رو قطع کنیم؛ چون این سرویس اساساً مبتنی بر شبکه ما نیست! 😂

از اون طرف هم گفته استارلینک می‌تونه رجیستری رو بی‌اثر کنه.

یعنی خلاصه به یه جایی رسیدیم که بشقاب ماهواره‌ای هم شده رقیب رجیستری و برق کشور! 🤣🛰️⚡



🌐 @ModernLAN
🤣21👍3
شبکه به زبان ساده!
Photo
🐧 Linux Networking — Professional Cheat Sheet
1. مشاهده کارت‌های شبکه و IP
ip addr
ip a
ip -br addr
ip link
ip -br link

جزئیات یک Interface:
ip addr show eth0
ip link show eth0

بالا/پایین کردن کارت شبکه:
sudo ip link set eth0 up
sudo ip link set eth0 down

اضافه/حذف IP:
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip addr del 192.168.1.100/24 dev eth0


2. Routing
مشاهده Routing Table:
ip route
ip r

مشاهده Route مربوط به یک مقصد:
ip route get 8.8.8.8

اضافه کردن Route:
sudo ip route add 10.10.20.0/24 via 192.168.1.1

حذف Route:
sudo ip route del 10.10.20.0/24

Default Gateway:
ip route | grep default

3. تست ارتباط شبکه
ping 192.168.1.1
ping 8.8.8.8
ping -c 4 8.8.8.8

مشخص کردن Interface:
ping -I eth0 8.8.8.8
تست IPv4:
ping -4 google.com
تست IPv6:
ping -6 google.com

4. Traceroute
traceroute 8.8.8.8
اگر نصب نبود:
sudo apt install traceroute
با ICMP:
traceroute -I 8.8.8.8
با TCP:
sudo traceroute -T -p 443 google.com
نسخه سریع‌تر:
tracepath 8.8.8.8

5. DNS
مشاهده DNS:
resolvectl status
Query ساده:
nslookup google.com
حرفه‌ای‌تر:
dig google.com
A Record:
dig A google.com
AAAA:
dig AAAA google.com
MX:
dig MX google.com
NS:
dig NS google.com
TXT:
dig TXT google.com
Reverse DNS:
dig -x 8.8.8.8
مشاهده مسیر DNS:
dig +trace google.com
استفاده از DNS مشخص:
dig @1.1.1.1 google.com

6. بررسی پورت‌ها و Socketها
جایگزین مدرن netstat:
ss
پورت‌های Listening:
ss -l
ss -ln
ss -lnt
ss -lnu
ss -lntup

معنی:
l = Listening
n = Numeric
t = TCP
u = UDP
p = Process

مثلاً:
sudo ss -lntup
مشاهده Connectionها:
ss -ant
ss -anu

جستجوی پورت خاص:
ss -lntup | grep :22

7. بررسی سرویس‌ها و پورت‌ها
sudo lsof -i
TCP:
sudo lsof -iTCP
UDP:
sudo lsof -iUDP
پورت خاص:
sudo lsof -i :443

8. ARP / Neighbor Table
ip neigh
یا:
arp -n
اضافه کردن Neighbor:
sudo ip neigh add 192.168.1.10 lladdr AA:BB:CC:DD:EE:FF dev eth0
حذف:
sudo ip neigh del 192.168.1.10 dev eth0

9. MAC Address
ip link
فقط MAC:
cat /sys/class/net/eth0/address
مشاهده Interfaceها:
ls /sys/class/net/

10. NetworkManager
اگر سیستم از NetworkManager استفاده می‌کند:
nmcli device status
nmcli connection show
جزئیات Connection:
nmcli connection show "Wired connection 1"
مشاهده Wi-Fi:
nmcli device wifi list
اتصال به Wi-Fi:
nmcli device wifi connect "SSID" password "PASSWORD"
فعال کردن Connection:
nmcli connection up "NAME"
قطع کردن:
nmcli connection down "NAME"

11. Network Configuration
در سیستم‌های جدید معمولاً:
nmcli
یا:
networkctl
بررسی وضعیت:
networkctl status
در سیستم‌های مبتنی بر systemd:
resolvectl status

12. Network Statistics
ip -s link
آمار Interface:
cat /proc/net/dev
آمار TCP:
ss -s
مشاهده خطاها:
ip -s link show eth0

13. سرعت و قابلیت‌های کارت شبکه
sudo ethtool eth0
سرعت:
sudo ethtool eth0 | grep Speed
Duplex:
sudo ethtool eth0 | grep Duplex
Link:
sudo ethtool eth0 | grep "Link detected"

14. Capture کردن Packetها
یکی از مهم‌ترین ابزارهای Network Admin و Security:
sudo tcpdump -i eth0
فقط ICMP:
sudo tcpdump -i eth0 icmp
فقط TCP:
sudo tcpdump -i eth0 tcp
فقط UDP:
sudo tcpdump -i eth0 udp
پورت 443:
sudo tcpdump -i eth0 port 443
یک Host:
sudo tcpdump -i eth0 host 192.168.1.10
ذخیره Capture:
sudo tcpdump -i eth0 -w capture.pcap
خواندن فایل:
tcpdump -r capture.pcap
نمایش ASCII Payload:
sudo tcpdump -i eth0 -A

15. Nmap
شناسایی Host:
nmap 192.168.1.1
اسکن شبکه:
nmap 192.168.1.0/24
اسکن پورت‌های مشخص:
nmap -p 22,80,443 192.168.1.10
تمام TCP Portها:
nmap -p- 192.168.1.10
تشخیص سرویس:
nmap -sV 192.168.1.10
تشخیص OS:
sudo nmap -O 192.168.1.10
اسکن SYN:
sudo nmap -sS 192.168.1.10
ترکیبی:
sudo nmap -sS -sV -O 192.168.1.10

16. Curl — تست HTTP/HTTPS
curl https://example.com
فقط Header:
curl -I https://example.com
Verbose:
curl -v https://example.com
دنبال کردن Redirect:
curl -L https://example.com
مشخص کردن DNS/Host:
curl --resolve example.com:443:192.168.1.10 https://example.com
تست یک IP با Host Header:
curl -H "Host: example.com" http://192.168.1.10

17. Wget
wget https://example.com/file.zip
دانلود با نام مشخص:
wget -O file.zip https://example.com/file.zip
ادامه دانلود:
wget -c URL
❤6
شبکه به زبان ساده!
Photo
18. SSH
ssh user@192.168.1.10

Port مشخص:
ssh -p 2222 user@192.168.1.10

Verbose برای Troubleshooting:
ssh -vvv user@192.168.1.10

استفاده از Key:
ssh -i ~/.ssh/id_ed25519 user@192.168.1.10


19. SSH Key
ساخت Key:
ssh-keygen -t ed25519

ارسال Public Key:
ssh-copy-id user@192.168.1.10

مشاهده Key:
cat ~/.ssh/id_ed25519.pub


20. Firewall — nftables
مشاهده Rules:
sudo nft list ruleset

بررسی وضعیت:
sudo systemctl status nftables


21. UFW
وضعیت:
sudo ufw status

جزئیات:
sudo ufw status verbose

فعال کردن:
sudo ufw enable

باز کردن SSH:
sudo ufw allow 22/tcp

باز کردن HTTP/HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

حذف Rule:
sudo ufw delete allow 80/tcp


22. iptables
مشاهده Rules:
sudo iptables -L -n -v

NAT:
sudo iptables -t nat -L -n -v

Routing/NAT در سیستم:
sysctl net.ipv4.ip_forward

فعال کردن موقت IPv4 Forwarding:
sudo sysctl -w net.ipv4.ip_forward=1


23. بررسی MTU
ip link show

تغییر MTU:
sudo ip link set dev eth0 mtu 1500

تست MTU با Ping:
ping -M do -s 1472 8.8.8.8

این مورد برای Troubleshooting مربوط به VPN، تونل‌ها، PPPoE و Fragmentation خیلی مهم است.

24. بررسی اتصال به یک Port
nc -vz 192.168.1.10 22

یا:
nc -vz 192.168.1.10 443

ایجاد Listener آزمایشی:
nc -lvnp 8080


25. اطلاعات Host و Kernel
hostname
hostnamectl
uname -a

IP سیستم:
hostname -I


26. مشاهده Connectionهای فعال
ss -tunap

برای پیدا کردن Process:
sudo ss -tunap

مثلاً:
sudo ss -tunap | grep ssh
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
دستگاه SharkDiv، یه جور ابزار هک و تست امنیتی قابل‌حمله که بیشتر برای کار با سیستم‌های بی‌سیم و تجهیزات الکترونیکی ساخته شده و یه چیزی تو مایه‌های Flipper Zero حساب میشه، با این تفاوت که امکانات مختلفی مثل Wi-Fi، بلوتوث و BLE، RFID و NFC، فرکانس‌های Sub-GHz، مادون قرمز و حتی GPS رو یه‌جا جمع کرده.

مثلاً با بخش RFID/NFC می‌تونی کارت‌ها و تگ‌های سازگار خودت رو بخونی و اطلاعاتشون رو بررسی کنی یا برای مدل‌هایی که پشتیبانی میشن حالت شبیه‌سازی رو تست کنی، با بخش Wi-Fi و BLE هم میشه شبکه‌ها و دستگاه‌های بی‌سیم رو برای یادگیری و تست امنیت بررسی کرد، قسمت Sub-GHz هم برای کار با بعضی تجهیزات رادیویی استفاده میشه و مادون قرمز هم برای ریموت‌هاست.

خلاصه اگه بخوام بگم، این دستگاه یه جعبه‌ابزار کوچیک برای تست و تحقیق روی Wi-Fi، Bluetooth، RFID/NFC، RF و IoT و برای کسی که سمت شبکه و امنیت میره می‌تونه وسیله جالبی باشه، البته تست روی تجهیزات و شبکه‌های دیگران بدون اجازه داستانش جداست.

@ModernLan
❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
همه درباره این صحبت میکنن که هوش مصنوعی قراره جای انسانها رو در مشاغل بگیره اما پیمانکاران و متخصصان فیبر نوری جایی نمیرن.

همیشه در حال یادگیری ،باش مهارت هات رو ارتقا بده و خودت رو به فردی تبدیل کن که جایگزین کردنش غیر ممکن باشه.
👍6❤4