Network Basics
একটা machine network-এ কীভাবে connected সেটা জানাটা cybersecurity-র শুরু। IP address, interface, DNS — এগুলো না বুঝলে scanning, recon, exploitation কিছুই বোধগম্য হবে না।
IP Address কী
IP address হলো network-এ তোমার ঠিকানা।
চিঠি পাঠাতে যেমন বাড়ির ঠিকানা লাগে, network-এ data পাঠাতে IP address লাগে। কোনো machine-এর IP না জানলে তুমি তার সাথে communicate করতে পারবে না।
192.168.1.100
│ │ │ │
│ │ │ └── Host part — এই network-এর কোন machine (100)
│ │ └── Network part — কোন network (192.168.1)
└───────── এই format হলো IPv4 — চারটো number, প্রতিটো 0-255/24 মানে কী:
IP address-এর পাশে /24 দেখবে — এটা হলো subnet mask। এটা বলে দেয় network part কতটুকু।
192.168.1.100/24
^^^
/24 মানে প্রথম 24 bit = network part
বাকি 8 bit = host part
তাই এই network-এ 192.168.1.0 থেকে 192.168.1.255 পর্যন্ত থাকতে পারে
মানে ২৫৬টা device একই network-এএই বিষয়গুলো Networking section-এ বিস্তারিত শিখবে। এখন শুধু জানো — /24 মানে class C network, ২৫৬টা address।
ip Command
Network interfaces আর IP addresses দেখার modern tool।
# সব interfaces আর IPs দেখো
ip addr show
# অথবা short form
ip a
# শুধু specific interface
ip a show eth0
# Routing table দেখো — default gateway কোনটা
ip route
ip rip a output বোঝো:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
inet6 fe80::1/64 scope link| অংশ | মানে |
|---|---|
eth0 | Interface-এর নাম — এটা Ethernet adapter |
UP | Interface চালু আছে |
inet 192.168.1.100/24 | IPv4 address এবং subnet |
brd 192.168.1.255 | Broadcast address — এই address-এ পাঠালে network-এর সবাই পাবে |
inet6 | IPv6 address |
lo | Loopback — 127.0.0.1, নিজের machine নিজেই |
Common interfaces:
| নাম | মানে |
|---|---|
eth0, ens33 | Ethernet (wired) |
wlan0, wlp2s0 | WiFi (wireless) |
lo | Loopback — 127.0.0.1 |
tun0 | VPN tunnel (TryHackMe-তে এটা দেখবে) |
TryHackMe-তে: VPN connect করার পর ip a দিলে tun0 interface দেখবে। এই interface-এর IP-টাই তোমার TryHackMe IP — এটা দিয়ে target machine-এ পৌঁছাবে।
ifconfig
পুরনো tool — কিন্তু CTF machines আর পুরনো servers-এ এখনও দেখা যায়।
# Install (না থাকলে)
sudo apt install net-tools
# সব interfaces দেখো
ifconfig
# নির্দিষ্ট interface
ifconfig eth0ping
Target machine alive কিনা এবং network reachable কিনা test করো।
ping কীভাবে কাজ করে: তুমি target-এ একটা ICMP Echo Request পাঠাও। Target alive থাকলে Echo Reply পাঠায়। এই আসা-যাওয়ার সময়টাই milliseconds-এ দেখা যায়।
# Server reachable কিনা দেখো
ping 192.168.1.1
# নির্দিষ্ট সংখ্যক packet পাঠাও (না দিলে চলতেই থাকে)
ping -c 4 google.com
# Timeout set করো — ২ সেকেন্ডে reply না এলে skip
ping -W 2 192.168.1.50Output বোঝো:
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.5 ms| অংশ | মানে |
|---|---|
64 bytes | Reply packet-এর size |
icmp_seq=1 | কততম packet |
ttl=64 | Time to Live — packet আর কয়টা router পার হতে পারবে |
time=0.5 ms | Request পাঠানো থেকে reply আসা পর্যন্ত সময় |
TTL কী এবং কেন গুরুত্বপূর্ণ:
প্রতিটি packet-এ TTL নামে একটি counter থাকে। প্রতিটি router পার হলে এই counter ১ কমে। ০ হলে packet মুছে যায় — এটা infinite loop থেকে বাঁচায়।
ttl=64 → সম্ভবত Linux machine
ttl=128 → সম্ভবত Windows machine
ttl=255 → সম্ভবত Cisco/Network deviceCybersecurity-তে TTL দেখে OS fingerprinting করা যায় — শুধু ping করেই target কোন OS চালাচ্ছে সেটার ধারণা পাওয়া যায়।
traceroute
তোমার machine থেকে target পর্যন্ত packet কোন কোন router দিয়ে যায় দেখাও।
কীভাবে কাজ করে: TTL=1 দিয়ে packet পাঠায় → প্রথম router-এ TTL ০ হয়, router error পাঠায় → তার IP জানা গেল। তারপর TTL=2 দিয়ে পাঠায় → দ্বিতীয় router জানা যায়। এভাবে পুরো path বের হয়।
# Install (না থাকলে)
sudo apt install traceroute
# Route দেখো
traceroute google.com
# TCP mode — ICMP block থাকলে এটা কাজ করে
traceroute -T google.comDNS Lookup
DNS কী:
তুমি google.com মনে রাখতে পারো কিন্তু 142.250.185.46 মনে রাখা কঠিন। DNS (Domain Name System) হলো সেই system যেটা google.com নামটাকে IP address-এ convert করে।
তুমি browser-এ লেখো: google.com
|
DNS server জিজ্ঞেস করো: google.com এর IP কত?
|
উত্তর: 142.250.185.46
|
এই IP-তে connect হও# Domain → IP
nslookup google.com
dig google.com
# শুধু IP দেখাও
dig +short google.com
# বিভিন্ন record type
dig google.com MX # Mail server (email কোথায় যাবে)
dig google.com NS # Name server (DNS কে manage করে)
dig google.com TXT # Text records (SPF, DKIM, verification)
# Reverse lookup — IP থেকে domain
dig -x 8.8.8.8
# নির্দিষ্ট DNS server ব্যবহার করো
dig @8.8.8.8 example.com/etc/hosts
Local DNS override। এই file-টি DNS-এর আগে check হয়।
তুমি যখন কোনো domain visit করো, Linux আগে /etc/hosts দেখে — এখানে match পেলে DNS server-এ যায়ই না, সরাসরি এখানকার IP ব্যবহার করে।
cat /etc/hosts
# Default content:
# 127.0.0.1 localhost
# 127.0.1.1 my-computer# নতুন entry যোগ করো
sudo nano /etc/hosts
# এই line যোগ করো:
# 10.10.10.10 target.thmএখন target.thm লিখলে automatically 10.10.10.10-তে যাবে।
TryHackMe-তে প্রায়ই /etc/hosts edit করতে হয়। Target machine-এর IP-কে একটা domain দিতে হয় — কারণ কিছু web application শুধু নির্দিষ্ট domain name দিয়ে request করলে কাজ করে, IP দিয়ে নয়।
# Quick way — nano না খুলে সরাসরি add করো
echo "10.10.10.10 target.thm" | sudo tee -a /etc/hostsCyberSec Note
Network recon — pentesting-এর প্রথম phase:
# নিজের IP জানো (tun0 = VPN IP TryHackMe-তে)
ip a | grep "inet "
# Target alive কিনা + OS fingerprinting (TTL দেখো)
ping -c 3 target-ip
# ttl=64 → Linux, ttl=128 → Windows
# Target-এ পৌঁছানোর route
traceroute target-ip
# DNS records — subdomain খোঁজার শুরু
dig target.com ANY
dig target.com NS
dig target.com MX
# Reverse DNS — IP-এর আড়ালে কোন domain আছে
dig -x target-ipপ্রতিটা CTF box-এ প্রথম কাজ: ip a করো নিজের IP জানো → ping করো target alive কিনা → তারপর port scan।
Quick Check
-
/24subnet মানে কত IP address? -
tun0interface কোথায় দেখা যায় এবং এটা কী? -
ttl=64আরttl=128দেখে কী বোঝা যায়? - DNS কেন দরকার — IP address থাকলেও?
-
/etc/hostsকীভাবে DNS-কে bypass করে?
পরবর্তী → Ports & Services