Skip to Content

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।

Terminal
# সব interfaces আর IPs দেখো ip addr show # অথবা short form ip a # শুধু specific interface ip a show eth0 # Routing table দেখো — default gateway কোনটা ip route ip r

ip 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
অংশমানে
eth0Interface-এর নাম — এটা Ethernet adapter
UPInterface চালু আছে
inet 192.168.1.100/24IPv4 address এবং subnet
brd 192.168.1.255Broadcast address — এই address-এ পাঠালে network-এর সবাই পাবে
inet6IPv6 address
loLoopback — 127.0.0.1, নিজের machine নিজেই

Common interfaces:

নামমানে
eth0, ens33Ethernet (wired)
wlan0, wlp2s0WiFi (wireless)
loLoopback — 127.0.0.1
tun0VPN tunnel (TryHackMe-তে এটা দেখবে)

TryHackMe-তে: VPN connect করার পর ip a দিলে tun0 interface দেখবে। এই interface-এর IP-টাই তোমার TryHackMe IP — এটা দিয়ে target machine-এ পৌঁছাবে।

ifconfig

পুরনো tool — কিন্তু CTF machines আর পুরনো servers-এ এখনও দেখা যায়।

Terminal
# Install (না থাকলে) sudo apt install net-tools # সব interfaces দেখো ifconfig # নির্দিষ্ট interface ifconfig eth0

ping

Target machine alive কিনা এবং network reachable কিনা test করো।

ping কীভাবে কাজ করে: তুমি target-এ একটা ICMP Echo Request পাঠাও। Target alive থাকলে Echo Reply পাঠায়। এই আসা-যাওয়ার সময়টাই milliseconds-এ দেখা যায়।

Terminal
# Server reachable কিনা দেখো ping 192.168.1.1 # নির্দিষ্ট সংখ্যক packet পাঠাও (না দিলে চলতেই থাকে) ping -c 4 google.com # Timeout set করো — ২ সেকেন্ডে reply না এলে skip ping -W 2 192.168.1.50

Output বোঝো:

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.5 ms
অংশমানে
64 bytesReply packet-এর size
icmp_seq=1কততম packet
ttl=64Time to Live — packet আর কয়টা router পার হতে পারবে
time=0.5 msRequest পাঠানো থেকে reply আসা পর্যন্ত সময়

TTL কী এবং কেন গুরুত্বপূর্ণ:

প্রতিটি packet-এ TTL নামে একটি counter থাকে। প্রতিটি router পার হলে এই counter ১ কমে। ০ হলে packet মুছে যায় — এটা infinite loop থেকে বাঁচায়।

ttl=64 → সম্ভবত Linux machine ttl=128 → সম্ভবত Windows machine ttl=255 → সম্ভবত Cisco/Network device

Cybersecurity-তে TTL দেখে OS fingerprinting করা যায় — শুধু ping করেই target কোন OS চালাচ্ছে সেটার ধারণা পাওয়া যায়।

traceroute

তোমার machine থেকে target পর্যন্ত packet কোন কোন router দিয়ে যায় দেখাও।

কীভাবে কাজ করে: TTL=1 দিয়ে packet পাঠায় → প্রথম router-এ TTL ০ হয়, router error পাঠায় → তার IP জানা গেল। তারপর TTL=2 দিয়ে পাঠায় → দ্বিতীয় router জানা যায়। এভাবে পুরো path বের হয়।

Terminal
# Install (না থাকলে) sudo apt install traceroute # Route দেখো traceroute google.com # TCP mode — ICMP block থাকলে এটা কাজ করে traceroute -T google.com

DNS 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 হও
Terminal
# 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 ব্যবহার করে।

Terminal
cat /etc/hosts # Default content: # 127.0.0.1 localhost # 127.0.1.1 my-computer
Terminal
# নতুন 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 দিয়ে নয়।

Terminal
# Quick way — nano না খুলে সরাসরি add করো echo "10.10.10.10 target.thm" | sudo tee -a /etc/hosts

CyberSec Note

Network recon — pentesting-এর প্রথম phase:

Terminal
# নিজের 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

  • /24 subnet মানে কত IP address?
  • tun0 interface কোথায় দেখা যায় এবং এটা কী?
  • ttl=64 আর ttl=128 দেখে কী বোঝা যায়?
  • DNS কেন দরকার — IP address থাকলেও?
  • /etc/hosts কীভাবে DNS-কে bypass করে?

পরবর্তী → Ports & Services

Search Keywords: linux networking bangla, ip address subnet, ping TTL fingerprinting, DNS lookup dig, /etc/hosts override, network basics Bengali, traceroute

Last updated on