অনুগ্রহ করে অপেক্ষা করুন...

Bug Mohol-এ প্রবেশ করার পূর্বে আপনার ব্রাউজারটি প্রস্তুত করা হচ্ছে। এই প্রক্রিয়াটি সম্পূর্ণ স্বয়ংক্রিয়।

Termux networking গাইড: SSH, SFTP ও Port Forwarding| Part-3 | Bugmohol

টার্মাক্স মাস্টারক্লাস পার্ট ৩: নেটওয়ার্কিং আর্সেনাল, SSH টানেলিং এবং প্রোটোকল অ্যানালিটিক্স—একটি পূর্ণাঙ্গ টেকনিক্যাল দস্তাবেজ

Bug Mohol Tutorial Desk | তারিখ :

অধ্যায় ১: ভূমিকা এবং প্রেক্ষাপট

স্মার্টফোন প্রযুক্তির অভাবনীয় বিপ্লবের এই যুগে, Android Operating System এখন আর কেবল যোগাযোগ বা বিনোদনের মাধ্যম হিসেবে সীমাবদ্ধ নেই; এটি এখন পকেটে থাকা একটি শক্তিশালী লিনাক্স-ভিত্তিক কম্পিউটিং যন্ত্র। আর Termux (টার্মাক্স) হলো সেই যন্ত্রের প্রকৃত শক্তি উন্মোচনের চাবিকাঠি।
আমাদের আগের টিউটোরিয়ালগুলোতে (পার্ট ১ এবং পার্ট ২ আমরা টার্মাক্সের File System, Permission Management এবং Basic Command স্ট্রাকচার নিয়ে বিস্তারিত আলোচনা করেছি। সেই ধারাবাহিকতায়, এই তৃতীয় পর্বে আমরা প্রবেশ করব টার্মাক্সের সবচেয়ে শক্তিশালী এবং বৈচিত্র্যময় ব্যবহারের জগতে—Networking (নেটওয়ার্কিং)

একজন Cyber Security Enthusiast , System Administrator, কিংবা একজন সাধারণ প্রযুক্তিপ্রেমী—সবার জন্যই নেটওয়ার্কিং জ্ঞান অপরিহার্য। Termux ব্যবহার করে আপনি আপনার লোকাল নেটওয়ার্ক মনিটর করতে পারেন, Remote Server ম্যানেজ করতে পারেন, এমনকি নিজের ফোনটিকে একটি সুরক্ষিত Web Server-এ রূপান্তর করতে পারেন। তবে এই কাজগুলো করার জন্য কেবল কমান্ড মুখস্থ করা যথেষ্ট নয়; প্রতিটি টুলের পেছনের কার্যপদ্ধতি, প্রোটোকলের গঠন এবং অ্যান্ড্রয়েড কার্নেলের নেটওয়ার্কিং স্ট্যাকের সীমাবদ্ধতা ও সুবিধাগুলো বোঝাও জরুরি। এই প্রতিবেদনে আমরা অত্যন্ত গভীরভাবে প্রতিটি টুল, প্রোটোকল এবং কনফিগারেশন বিশ্লেষণ করব, যাতে একজন নতুন ব্যবহারকারীও পেশাদার দক্ষতা অর্জন করতে পারেন।

টার্মাক্সকে একটি নেটওয়ার্কিং ইউটিলিটি হিসেবে ব্যবহার করার গুরুত্ব অপরিসীম। এটি কোনো রুট অ্যাক্সেস ছাড়াই লিনাক্সের শক্তিশালী নেটওয়ার্কিং টুলস (যেমন: nmap, openssh, curl) ব্যবহারের সুযোগ দেয়, যা সাধারণত ডেস্কটপ লিনাক্সে পাওয়া যায়। এই প্রতিবেদনের লক্ষ্য হলো আপনাকে সেই টুলগুলোর সাথে কেবল পরিচয় করিয়ে দেওয়া নয়, বরং সেগুলোর বাস্তব প্রয়োগ এবং ট্রাবলশুটিং (Troubleshooting) শেখানো

আমাদের প্রথম পর্বে আমরা টার্মাক্সের বেসিক এবং দ্বিতীয় পর্বে ফাইল সিস্টেম নিয়ে বিস্তারিত আলোচনা করেছি। কিন্তু আজকের পর্বটি হতে যাচ্ছে সবচেয়ে রোমাঞ্চকর। কারণ আজ আমরা টার্মাক্সকে ইন্টারনেটের সাথে যুক্ত করব। আজ আমরা শিখব কীভাবে মোবাইলকে একটি SSH সার্ভার বানিয়ে পিসি থেকে কন্ট্রোল করা যায়, কীভাবে SFTP দিয়ে ফাইল ট্রান্সফার করা যায় এবং কীভাবে Port Forwarding করে লোকাল ওয়েবসাইটকে বিশ্বজুড়ে লাইভ করা যায়।

অধ্যায় ২: নেটওয়ার্কিংয়ের তাত্ত্বিক ভিত্তি (Theoretical Framework)

টার্মাক্স (Termux) বা যেকোনো সাইবার সিকিউরিটি টুল নিয়ে কাজ শুরু করার আগে আমাদের বুঝতে হবে সেই অদৃশ্য জগতটি সম্পর্কে, যেখানে এই টুলগুলো কাজ করে। নেটওয়ার্কিং হলো ইন্টারনেটের মেরুদণ্ড। কোনো হ্যাকার বা ডেভেলপার যদি নেটওয়ার্কিং না বোঝেন, তবে তার কাজ হবে অনেকটা চোখ বেঁধে গাড়ি চালানোর মতো।

নেটওয়ার্কিংয়ের পুরো জগতটি দাঁড়িয়ে আছে TCP/IP মডেল-এর ওপর। আমরা যখন টার্মাক্সে কোনো কমান্ড দিই, তখন মূলত আমরা এই মডেলের বিভিন্ন স্তরে নির্দেশ পাঠাই। চলুন, এই জগতটিকে একটি “ডিজিটাল মেগাসিটি” বা বিশাল শহরের সাথে তুলনা করে এর প্রতিটি ইট-পাথর বিশ্লেষণ করি।

২.১ আইপি অ্যাড্রেস (IP Address): নেটওয়ার্কের পরিচয়পত্র

🔍 সহজ ভাষায় বিশ্লেষণ

মনে করুন, আপনি একটি বিশাল শহরে বাস করেন। এখন, আপনার বন্ধু যদি আপনাকে একটি চিঠি পাঠাতে চায়, তবে তার কী প্রয়োজন? অবশ্যই আপনার বাড়ির ঠিকানা। ইন্টারনেটের জগতটাও ঠিক এমনই। এখানে প্রতিটি মোবাইল, ল্যাপটপ, সার্ভার বা স্মার্ট ওয়াচ—সবাই ইন্টারনেটের নাগরিক।

নেটওয়ার্কে সংযুক্ত প্রতিটি ডিভাইসের একটি করে অনন্য (Unique) ঠিকানা থাকে, যা দিয়ে তাকে চেনা যায়। এই ঠিকানাটিকেই বলা হয় IP Address বা Internet Protocol Address। আইপি অ্যাড্রেস ছাড়া ইন্টারনেটের পিয়ন (যাকে আমরা রাউটার বলি) জানবে না যে ফেসবুকের মেসেজটি কার ফোনে পাঠাতে হবে।

২. 🛠 টেকনিক্যাল গভীরতা ও প্রকারভেদ:

টার্মাক্স ব্যবহারকারী হিসেবে আইপি অ্যাড্রেসের গঠন বোঝা অত্যন্ত জরুরি। আইপি মূলত দুই ধরনের হয়:

১. IPv4 বনাম IPv6: সংকট ও সমাধান
বৈশিষ্ট্য (Feature) IPv4 (Internet Protocol version 4) IPv6 (Internet Protocol version 6)
বিবরণ ইন্টারনেটের পুরনো এবং বহুল ব্যবহৃত ভার্সন। ঠিকানার সংকট মেটাতে তৈরি আধুনিক ভার্সন।
অ্যাড্রেস ফরম্যাট ৩২-বিটের সিস্টেম। চারটি সংখ্যার ব্লকের মতো। ১২৮-বিটের সিস্টেম। সংখ্যা এবং অক্ষরের মিশ্রণ।
উদাহরণ 192.168.0.101 2001:0db8:85a3:0000:0000:8a2e:0370:7334
ঠিকানা সংখ্যা প্রায় ৪.৩ বিলিয়ন অনন্য ঠিকানা। অকল্পনীয় সংখ্যক (প্রায় $3.4 times 10^{38}$) ঠিকানা।
বর্তমান অবস্থা ঠিকানা প্রায় শেষ হয়ে গেছে (সংকট)। ভবিষ্যতের জন্য পর্যাপ্ত সমাধান।

টার্মাক্স টিপস
আপনি টার্মাক্সে ifconfig বা ip addr কমান্ড দিলে inet লেখাটি হলো আপনার IPv4 এবং inet6 লেখাটি হলো আপনার IPv6 অ্যাড্রেস।

২. প্রাইভেট বনাম পাবলিক আইপি (Private vs Public IP)
বৈশিষ্ট্য (Feature) পাবলিক আইপি (Public IP) প্রাইভেট আইপি (Private IP)
সহজ উদাহরণ আপনার অ্যাপার্টমেন্ট বিল্ডিংয়ের মেইন গেট। বিল্ডিংয়ের ভেতরের নির্দিষ্ট ফ্ল্যাট নম্বর।
পরিধি (Scope) সারা বিশ্ব বা ইন্টারনেট এই ঠিকানা চেনে। শুধুমাত্র আপনার লোকাল নেটওয়ার্ক (বাসা/অফিস) চেনে।
প্রদানকারী ইন্টারনেট সার্ভিস প্রোভাইডার (ISP) এটি দেয়। আপনার রাউটার (Router) এটি অ্যাসাইন করে।
দৃশ্যমানতা যেকোনো ওয়েবসাইট বা সার্ভার এটি দেখতে পায়। বাইরের কেউ এটি সরাসরি দেখতে পায় না।
আইপি ফরম্যাট ISP ভেদে ভিন্ন হয়। সাধারণত 192.168.x.x ফরম্যাটের হয়।
টার্মাক্স কমান্ড curl ifconfig.me ifconfig

Info!
টার্মাক্স কমান্ড: ifconfig (এটি আপনার লোকাল নেটওয়ার্কের আইপি দেখাবে)।
হ্যাকিং ল্যাবে বা সার্ভার বানানোর সময় মনে রাখবেন, প্রাইভেট আইপি দিয়ে আপনি শুধু আপনার ওয়াইফাই বা লোকাল নেটওয়ার্কের বন্ধুদের সাথে কানেক্ট করতে পারবেন। কিন্তু পুরো দুনিয়া থেকে কানেক্ট করতে হলে পাবলিক আইপি বা পোর্ট ফরোয়ার্ডিং (Port Forwarding) লাগবে।

২.২ পোর্ট (Port): ডিজিটাল প্রবেশদ্বার

🔍 সহজ ভাষায় বিশ্লেষণ

আইপি অ্যাড্রেস দিয়ে তো আপনার বাড়িতে (সার্ভারে) পৌঁছানো গেল। কিন্তু আপনার বাড়িতে তো অনেকগুলো রুম আছে, তাই না?
এক রুমে আপনি টিভি দেখছেন (ওয়েব ব্রাউজিং)।
অন্য রুমে আপনার ভাই গেম খেলছে (অনলাইন গেমিং)।
আরেক রুমে ফাইল ডাউনলোড হচ্ছে (FTP)।
বাইরে থেকে আসা ডেটা কীভাবে বুঝবে সে কোন রুমে ঢুকবে? এই “রুম নম্বর” বা দরজাই হলো Port। একটি কম্পিউটারে একই সময়ে হাজার হাজার কাজ চলতে পারে। পোর্ট নম্বরগুলো নিশ্চিত করে যে, ইমেইলের ডেটা যেন ভুল করে গেমের মধ্যে ঢুকে না যায়।

🛠 টেকনিক্যাল গভীরতা: পোর্টের শ্রেণীবিভাগ

পোর্টগুলো ১৬-বিটের সংখ্যা (রেঞ্জ: ০ থেকে ৬৫৫৩৫)। এদের কাজের ভিত্তিতে তিনটি ভাগে ভাগ করা হয়:

ক্যাটাগরি (Category) রেঞ্জ (Range) বিবরণ (Description) উদাহরণ ও ব্যবহার (Usage)
ওয়েল-নৌন পোর্ট
(Well-Known Ports)
0 – 1023 এগুলো ভিআইপি (VIP) জোন। সিস্টেমের নিজস্ব কাজের জন্য সংরক্ষিত। Port 80: HTTP (Web) সাধারণ ওয়েবসাইট ব্রাউজিংয়ের জন্য।
Port 443: HTTPS (Secure Web) সুরক্ষিত বা এনক্রিপ্টেড ওয়েবসাইট ব্রাউজিংয়ের জন্য (ফেসবুক, গুগল সব এটি ব্যবহার করে)
Port 22: SSH (Remote Control) দূর থেকে কোনো কম্পিউটার কন্ট্রোল করার জন্য
রেজিস্টার্ড পোর্ট
(Registered Ports)
1024 – 49151 সাধারণ ইউজার বা অ্যাপ্লিকেশনের জন্য বরাদ্দ। টার্মাক্স (Termux) এবং সাধারণ অ্যান্ড্রয়েড অ্যাপগুলো এই রেঞ্জে কাজ করে।
ডায়নামিক পোর্ট
(Dynamic Ports)
49152 – 65535 অস্থায়ী বা টেম্পোরারি কানেকশনের জন্য ব্যবহার হয়। ব্রাউজিংয়ের সময় ব্রাউজার সাময়িকভাবে সার্ভারের সাথে কানেক্ট করতে এই পোর্ট ব্যবহার করে।

💡 টার্মাক্স ইনসাইট (কেন টার্মাক্সে পোর্ট আলাদা?)

লিনাক্স বা অপারেটিং সিস্টেমের নিয়ম হলো— ১ থেকে ১০২৪ নম্বর পোর্ট ব্যবহার করতে হলে আপনাকে সিস্টেমের অ্যাডমিন বা Root User হতে হবে। কিন্তু টার্মাক্স সাধারণত Non-Root (রুট ছাড়া) পরিবেশে চলে। তাই টার্মাক্সে আমরা স্ট্যান্ডার্ড পোর্ট ব্যবহার করতে পারি না। আমাদের একটু ঘুরিয়ে কাজ করতে হয়:
স্ট্যান্ডার্ড লিনাক্সে SSH চলে Port 22-এ ➡️ টার্মাক্সে আমরা চালাই Port 8022-এ।
স্ট্যান্ডার্ড লিনাক্সে ওয়েব সার্ভার চলে Port 80-এ ➡️ টার্মাক্সে আমরা চালাই Port 8080-এ।

২.৩ প্রোটোকল (Protocol): যোগাযোগের ব্যাকরণ

🔍 সহজ ভাষায় বিশ্লেষণ

দুজন মানুষ ফোনে কথা বললে তাদের ভাষা এক হতে হয়, তবেই যোগাযোগ সম্ভব। ঠিক তেমনি, দুটি ডিভাইসের মধ্যে ডেটা আদান-প্রদানের নিয়মাবলী বা ব্যাকরণকে বলা হয় Protocol। টার্মাক্সে হ্যাকিং বা নেটওয়ার্কিংয়ের সময় আমরা মূলত তিনটি প্রধান প্রোটোকল বা ‘ভাষায়’ কথা বলি।

🛠 প্রধান প্রোটোকলসমূহের বিস্তারিত বিশ্লেষণ

১. TCP (Transmission Control Protocol) – বিশ্বস্ত পিয়ন

চরিত্র ও বৈশিষ্ট্য: TCP হলো ইন্টারনেটের সবচেয়ে ভদ্র, ধীরস্থির এবং দায়িত্বশীল প্রোটোকল। একে ‘Connection-Oriented’ প্রোটোকল বলা হয়। এর প্রধান বৈশিষ্ট্য হলো নির্ভরযোগ্যতা। আপনি যখন কোনো ফাইল পাঠান, TCP নিশ্চিত করে যে ফাইলের প্রতিটি বাইট বা কণা যেন সঠিক অর্ডারে এবং নির্ভুলভাবে প্রাপকের কাছে পৌঁছায়। যদি পথে কোনো প্যাকেট হারিয়ে যায়, TCP সেটি পুনরায় পাঠানোর ব্যবস্থা করে।

কিভাবে কাজ করে (The 3-Way Handshake):
ডেটা পাঠানোর আগে TCP দুটি ডিভাইসের মধ্যে একটি শক্ত সংযোগ স্থাপন করে। একে ‘থ্রি-ওয়ে হ্যান্ডশেক’ বলা হয়। এটি অনেকটা ফোনে কথা শুরু করার মতো:

  • ধাপ ১ (SYN): প্রেরক (Sender) প্রথমে প্রাপককে বলে, “হ্যালো, আমি কি আপনার সাথে কানেক্ট হতে পারি?”
  • ধাপ ২ (SYN-ACK): প্রাপক (Receiver) উত্তর দেয়, “হ্যাঁ, আমি প্রস্তুত। আপনি কানেক্ট হতে পারেন।”
  • ধাপ ৩ (ACK): প্রেরক তখন বলে, “ধন্যবাদ, কানেকশন তৈরি হলো। এখন আমি ডেটা পাঠানো শুরু করছি।”

ব্যবহারিক ক্ষেত্র: যেখানে তথ্যের ১০০% নির্ভুলতা দরকার। যেমন:

ইমেইল (Email): ইমেইলের একটি শব্দ হারিয়ে গেলে অর্থ বদলে যেতে পারে।

ওয়েব ব্রাউজিং (HTTP/HTTPS): ওয়েবসাইট লোড হওয়ার সময় কোনো কোড মিস হলে সাইট ভেঙে যাবে।

ফাইল ট্রান্সফার (FTP): ডাউনলোড করার সময় ১টি বাইট মিস হলেও ফাইলটি করাপ্ট (Corrupt) হয়ে যাবে।


২. UDP (User Datagram Protocol) – চঞ্চল বার্তাবাহক

চরিত্র ও বৈশিষ্ট্য: UDP হলো ঠিক TCP-এর উল্টো। একে ‘Connectionless’ প্রোটোকল বলা হয়। এটি খুব দ্রুত কাজ করে কিন্তু কোনো গ্যারান্টি দেয় না। এর নীতি হলো— “আমি ডেটা ছুঁড়ে মারলাম, তুমি পেলে কি না, সেটা দেখার সময় আমার নেই।” এতে কোনো হ্যান্ডশেক বা একনলেজমেন্ট (Acknowledgement) নেই, তাই এটি অত্যন্ত হালকা এবং ফাস্ট।

পার্থক্য: TCP যদি হয় ‘রেজিস্টার্ড চিঠি’ (যা পৌঁছানোর রসিদ পাওয়া যায়), তবে UDP হলো ‘উড়ো চিঠি’ বা মাইকে ঘোষণা দেওয়ার মতো।

ব্যবহারিক ক্ষেত্র: যেখানে নির্ভুলতার চেয়ে গতি (Speed) বেশি গুরুত্বপূর্ণ। যেমন:

ভিডিও স্ট্রিমিং (YouTube/Netflix): ভিডিও দেখার সময় যদি দু-এক ফ্রেম ড্রপ হয়, আপনি টেরও পান না। কিন্তু বাফারিং হলে বিরক্ত লাগে।

অনলাইন গেমিং (PUBG/FreeFire): রিয়েল-টাইম অ্যাকশন দরকার। এখানে লেটেন্সি বা ল্যাগ কমানোটাই মূল লক্ষ্য।

ভয়েস কল (VoIP): কথার মাঝখানে একটু শব্দ কেটে গেলেও আমরা বুঝে নিতে পারি, কিন্তু কথা দেরিতে আসলে যোগাযোগ সম্ভব নয়।

💡 টার্মাক্স ইনসাইট:
টার্মাক্সে যখন আমরা tracepath কমান্ড দিই বা DNS কুয়েরি (dig বা nslookup) চালাই, তখন মূলত আমরা UDP প্রোটোকল ব্যবহার করি। কারণ এখানে আমরা দ্রুত রেজাল্ট চাই এবং কানেকশন সেটআপের জন্য সময় নষ্ট করতে চাই না।


৩. ICMP (Internet Control Message Protocol) – নেটওয়ার্ক ডাক্তার

চরিত্র ও বৈশিষ্ট্য: ICMP কোনো ডেটা বহন করে না (যেমন ছবি বা টেক্সট), এটি মূলত নেটওয়ার্কের স্বাস্থ্য পরীক্ষার কাজে ব্যবহৃত হয়। একে নেটওয়ার্কের ‘ডায়াগনস্টিক টুল’ বলা হয়। রাউটার বা সার্ভাররা নিজেদের মধ্যে সমস্যার কথা জানাতে এই প্রোটোকল ব্যবহার করে।

কিভাবে কাজ করে:
যখন আপনি কোনো সার্ভারে রিকোয়েস্ট পাঠান এবং সার্ভারটি যদি ডাউন থাকে বা খুঁজে না পাওয়া যায়, তখন রাউটার আপনাকে একটি এরর মেসেজ পাঠায় (যেমন: Destination Unreachable)। এই মেসেজটি ICMP-এর মাধ্যমেই আসে।

ব্যবহারিক ক্ষেত্র:

Ping কমান্ড: আমরা যখন টার্মাক্সে ping google.com লিখি, তখন আমরা ICMP Echo Request পাঠাই। গুগল তখন ICMP Echo Reply দিয়ে জানায় সে জীবিত (Alive) আছে।

Traceroute: ডেটা প্যাকেট কোন পথে যাচ্ছে এবং কোথায় আটকাচ্ছে, তা দেখার জন্য এটি ব্যবহৃত হয়।

ট্রুবলশ্যুটিং: নেটওয়ার্ক কানেকশন কেন কাজ করছে না, তা খুঁজে বের করতে এটি অপরিহার্য।

একনজরে মূল কথা (Key Takeaways)
নেটওয়ার্কিং বা পেনিট্রেশন টেস্টিং শেখার জন্য এই তিনটি বিষয় মাথায় গেঁথে নিন:
IP Address: “কোথায়” যেতে হবে (Location)।
Port: “কোন দরজা” দিয়ে ঢুকতে হবে (Service Access)।
Protocol: “কোন নিয়মে” কথা বলতে হবে (Communication Rules)।

অধ্যায় ৩: টার্মাক্স নেটওয়ার্কিং এনভায়রনমেন্ট সেটআপ (Setting Up the Arsenal)
যুদ্ধের ময়দানে নামার আগে একজন সৈনিক যেমন তার অস্ত্র পরিষ্কার করে এবং কার্তুজ লোড করে নেয়, ঠিক তেমনি নেটওয়ার্কিং বা পেনিট্রেশন টেস্টিং শুরু করার আগে আমাদের টার্মাক্স এনভায়রনমেন্ট প্রস্তুত করতে হয়।
টার্মাক্স নিজে একটি খালি স্লেটের মতো। এখানে ডিফল্টভাবে খুব কম টুল থাকে। আমাদের প্যাকেজ ম্যানেজার (Package Manager) ব্যবহার করে প্রয়োজনীয় টুলগুলো ইনস্টল করতে হবে। টার্মাক্সে আমরা pkg কমান্ড ব্যবহার করি, যা মূলত apt (Advanced Package Tool)-এর একটি সহজ সংস্করণ বা র‍্যাপার। ভাবুন এটি টার্মাক্সের নিজস্ব “প্লে স্টোর” বা “অ্যাপ স্টোর”, যেখান থেকে আমরা কমান্ড দিয়ে অ্যাপ নামাব।
আসুন, ধাপে ধাপে আমাদের ল্যাবরেটরি প্রস্তুত করি।

৩.১ সিস্টেম আপডেট ও রিপোজিটরি কনফিগারেশন: ভিত্তি প্রস্তর স্থাপন
🔍 কেন এটা জরুরি? (Analysis)
আপনি যখন বাজার থেকে কোনো টুলস কেনেন, আপনি কি চান সেটা মরিচা ধরা বা পুরনো হোক? নিশ্চয়ই না। টার্মাক্স ইনস্টল করার পর এর ভেতরের প্যাকেজ তালিকা (List) পুরনো থাকতে পারে। পুরনো তালিকা ব্যবহার করে কিছু ইনস্টল করতে গেলে ‘এরর’ (Error) বা ব্রোকেন প্যাকেজ পাওয়ার ঝুঁকি থাকে। তাই প্রথম কাজ হলো টার্মাক্সের ডাটাবেস আপডেট করা।
🛠 কমান্ড ও ব্যাখ্যা
টার্মাক্স ওপেন করে নিচের কমান্ডটি লিখুন:
pkg update && pkg upgrade -y

🧠 কমান্ডের ব্যবচ্ছেদ (Code Anatomy)
একজন প্রফেশনাল হিসেবে আপনাকে জানতে হবে আপনি কী টাইপ করছেন:
pkg update: এটি টার্মাক্সের সার্ভার থেকে অ্যাপের লেটেস্ট তালিকা (List) ডাউনলোড করে। (এটি কোনো অ্যাপ আপডেট করে না, শুধু তালিকা চেক করে)।
&&: এটি একটি লজিক্যাল অপারেটর। এর মানে হলো— “প্রথম কাজটা (update) সফল হলে, তবেই দ্বিতীয় কাজটা (upgrade) শুরু করো।”
pkg upgrade: এটি আপনার সিস্টেমে থাকা পুরনো অ্যাপগুলোকে নতুন ভার্সনে উন্নীত করে।
-y: এর মানে “Yes”। আপডেটের সময় টার্মাক্স বারবার অনুমতি চাইবে (Do you want to continue? Y/n)। -y দিয়ে আমরা আগেভাগেই সব অনুমতি দিয়ে দিলাম, যাতে সময় নষ্ট না হয়।

৩.২ এসেনশিয়াল নেটওয়ার্কিং প্যাকেজ ইনস্টলেশন: অস্ত্রাগার পূর্ণ করা

নেটওয়ার্কিংয়ের কাজ করার জন্য আমাদের বেশ কিছু টুল বা ‘সুইচ আর্মি নাইফ’ দরকার। এই টুলগুলো সাধারণত net-tools, inetutils এবং dnsutils নামক প্যাকেজের ভেতরে থাকে।
নিচের কমান্ডটি দিয়ে আমরা নেটওয়ার্কিংয়ের জন্য প্রয়োজনীয় সব প্যাকেজ একবারে ইনস্টল করব

pkg install net-tools inetutils dnsutils traceroute nmap curl wget openssh -y

📦 প্যাকেজ পরিচিতি ও বিশ্লেষণ (Package Analysis)
কোন প্যাকেজটি আসলে কী কাজ করে এবং কেন আমরা এটি ইনস্টল করলাম, তা নিচে বিস্তারিত আলোচনা করা হলো:
১. Net-tools (দ্য ক্লাসিক টুলবক্স)
বিবরণ: এটি লিনাক্স নেটওয়ার্কিংয়ের পুরনো কিন্তু অত্যন্ত জনপ্রিয় টুলবক্স। যদিও আধুনিক লিনাক্সে এটি কিছুটা সেকেলে (Deprecated) ধরা হয়, কিন্তু হাজার হাজার টিউটোরিয়াল এবং স্ক্রিপ্টে এখনো এর ব্যবহার আছে।
কি থাকে এতে:
ifconfig: নিজের আইপি অ্যাড্রেস ও ম্যাক অ্যাড্রেস দেখার জন্য।
netstat: নেটওয়ার্ক কানেকশন মনিটর করার জন্য।
arp: লোকাল নেটওয়ার্কে অন্য ডিভাইসের ম্যাক অ্যাড্রেস খোঁজার জন্য।
২. Inetutils (বেসিক ইউটিলিটি)
বিবরণ: এটি নেটওয়ার্কিংয়ের একদম মৌলিক কিছু প্রোটোকল হ্যান্ডেল করে।
কি থাকে এতে:
ping: সার্ভার জীবিত না মৃত, তা চেক করার জন্য (ICMP প্রোটোকল)।
ftp: ফাইল ট্রান্সফার প্রোটোকল ক্লায়েন্ট।
telnet: রিমোট কানেকশনের পুরনো পদ্ধতি (যদিও এখন SSH বেশি ব্যবহৃত হয়, তবে পোর্ট চেকিংয়ে এটি কাজে লাগে)।
৩. Dnsutils (DNS ডিটেকটিভ)
বিবরণ: ইন্টারনেটের ফোনবুক বা DNS (Domain Name System) নিয়ে কাজ করার জন্য এটি অপরিহার্য। হ্যাকাররা ইনফরমেশন গ্যাদারিং বা তথ্য সংগ্রহের সময় এটি সবচেয়ে বেশি ব্যবহার করে।
কি থাকে এতে:
dig & nslookup: কোনো ওয়েবসাইটের পেছনের আসল আইপি অ্যাড্রেস, মেইল সার্ভার বা নেম সার্ভার খুঁজে বের করার জন্য।
৪. OpenSSH (সুরক্ষিত সুরঙ্গ)
বিবরণ: এটি বর্তমান বিশ্বের সবচেয়ে গুরুত্বপূর্ণ টুলগুলোর একটি।
কাজ: এটি আপনাকে একটি সুরক্ষিত বা এনক্রিপ্টেড সুরঙ্গ (Tunnel) তৈরি করে দেয়, যার মাধ্যমে আপনি এক কম্পিউটার থেকে অন্য কম্পিউটার নিরাপদে কন্ট্রোল করতে পারেন। টার্মাক্সকে রিমোটলি পিসি থেকে চালানোর জন্য এটি অবশ্যই লাগবে।
৫. Curl & Wget (ওয়েব ডাউনলোডার)
বিবরণ: ব্রাউজার ছাড়া ওয়েবসাইট থেকে তথ্য বা ফাইল ডাউনলোড করার জন্য এই দুটি টুল ব্যবহৃত হয়।
curl: এটি ওয়েবসাইটের সোর্স কোড দেখা বা API টেস্ট করার জন্য সেরা।
wget: বড় ফাইল বা স্ক্রিপ্ট ডাউনলোড করার জন্য সেরা।
৬. Tracepath / Traceroute (নেটওয়ার্ক ম্যাপ মেকার)
বিবরণ: আপনি যখন কোনো ওয়েবসাইটে রিকোয়েস্ট পাঠান, তখন আপনার ডেটা প্যাকেটটি কোন কোন দেশ বা রাউটার হয়ে সার্ভারে পৌঁছাচ্ছে, তার পুরো ম্যাপ বা রুট দেখার জন্য এটি ব্যবহৃত হয়।
নোট: যেহেতু টার্মাক্সে সব সময় রুট পারমিশন (Root Permission) থাকে না, তাই অনেক সময় traceroute-এর বদলে tracepath ব্যবহার করা বেশি সুবিধাজনক।

অধ্যায় ৪: বেসিক নেটওয়ার্ক ডায়াগনস্টিকস টুলস (Network Diagnostics)
একজন ডাক্তার যেমন স্টেথিস্কোপ দিয়ে রোগীর হার্টবিট চেক করেন, একজন নেটওয়ার্ক ইঞ্জিনিয়ার বা হ্যাকারের প্রথম কাজ হলো টার্গেট নেটওয়ার্কের নাড়িনক্ষত্র পরীক্ষা করা। হ্যাকিং কোনো জাদুর কাঠি নয়, এটি হলো তথ্য সংগ্রহের খেলা। টার্মাক্সে আমরা কিছু শক্তিশালী কমান্ড-লাইন ইউটিলিটি ব্যবহার করে এই কাজটি করি।
আসুন, আমাদের ডিজিটাল স্টেথিস্কোপ এবং এক্স-রে মেশিনগুলোর সাথে পরিচিত হই।

৪.১ Ping: সংযোগের হৃৎস্পন্দন পরীক্ষা (ICMP)
মনে করুন, আপনি অন্ধকার ঘরে আপনার বন্ধুকে ডাকলেন, “এই, আছিস?” বন্ধু উত্তর দিল, “হ্যাঁ, আছি।” Ping (Packet Internet Groper) ঠিক এই কাজটিই করে। এটি ইন্টারনেটের ওপাশের কম্পিউটারকে একটি ছোট ধাক্কা দেয় (ICMP Echo Request) এবং উত্তরের (Reply) জন্য অপেক্ষা করে। যদি উত্তর আসে, তবে কানেকশন ঠিক আছে। যদি না আসে, তবে বুঝতে হবে লাইন বা সার্ভারে সমস্যা।
🛠 কমান্ড ও বিশ্লেষণ
টার্মাক্সে নিচের কমান্ডটি দিন:
ping -c 4 google.com
🧠 কমান্ডের ব্যবচ্ছেদ (Anatomy)
ping: টুলটির নাম।
-c 4: এর মানে Count 4। লিনাক্স বা টার্মাক্সে পিং কমান্ড দিলে সেটি অসীম সময় ধরে চলতে থাকে। তাই আমরা বলে দিলাম, “মাত্র ৪ বার চেক করে থেমে যাও।” (থামাতে চাইলে Ctrl + C চাপতে হয়)।
google.com: যাকে চেক করতে চাইছেন।
📊 আউটপুট বিশ্লেষণ (হ্যাকার্স ইনসাইট)
পিং কমান্ডের উত্তরে আসা তথ্যগুলো সাধারণ টেক্সট নয়, এগুলো গোপন সংকেত:
time=… ms: একে বলা হয় Latency। আপনার ডাক শুনতে এবং উত্তর দিতে সার্ভারের কত সময় লাগল। সময় যত কম (যেমন: 50ms), কানেকশন তত ভালো।
ttl=… (Time To Live): এটি হ্যাকারদের জন্য সবচেয়ে গুরুত্বপূর্ণ ক্লু। এটি দেখে বোঝা যায় উল্টো পাশের কম্পিউটারটি কোন অপারেটিং সিস্টেমে চলছে।
TTL যদি ৬৪-এর আশেপাশে হয় ➡️ সাধারণত Linux/Android।
TTL যদি ১২৮-এর আশেপাশে হয় ➡️ সাধারণত Windows।
টার্মাক্স স্পেশাল নোট: অ্যান্ড্রয়েড অ্যাপগুলোর সাধারণত ‘Raw Socket’ তৈরির অনুমতি থাকে না। তাই টার্মাক্স নিজের কোড ব্যবহার না করে অ্যান্ড্রয়েড সিস্টেমের /system/bin/ping ফাইলটিকে ব্যবহার করে কাজ চালায়।

৪.২ ifconfig এবং ip: ডিজিটাল পরিচয়পত্র ব্যবস্থাপনা
দীর্ঘদিন ধরে লিনাক্স ব্যবহারকারীরা ifconfig কমান্ডটি ব্যবহার করে আসছেন। তবে আধুনিক লিনাক্স কার্নেল এবং অ্যান্ড্রয়েডে ifconfig কে Deprecated বা পুরনো ঘোষণা করা হয়েছে এবং এর বদলে ip কমান্ড ব্যবহার করার পরামর্শ দেওয়া হয় । নেটওয়ার্কে আপনার নিজের ডিভাইসের নাম-পরিচয় কী, তা জানার জন্য এই টুলগুলো ব্যবহৃত হয়।
১. ifconfig (দ্য ওল্ড স্কুল হিরো)
এটি লিনাক্সের সবচেয়ে পুরনো কমান্ড। যদিও এটি এখন Deprecated (বাতিল বা পুরনো ঘোষিত), তবুও অভ্যাসের কারণে সবাই এটি ব্যবহার করে।
ifconfig
wlan0: এটি আপনার ওয়াই-ফাই ইন্টারফেস। এখানেই inet addr এর পাশে আপনার লোকাল আইপি (যেমন: 192.168.x.x) থাকে।
lo (Loopback): এটি আপনার নিজের ডিভাইসের অভ্যন্তরীণ ঠিকানা (127.0.0.1)।
২. ip (দ্য মডার্ন পাওয়ারহাউজ)
আধুনিক লিনাক্স এবং অ্যান্ড্রয়েড ifconfig-এর বদলে ip কমান্ড ব্যবহারের পরামর্শ দেয়। এটি অনেক বেশি শক্তিশালী এবং স্ক্রিপ্টিংয়ের জন্য জেসন (JSON) আউটপুট দিতে পারে।
ip addr show
কেন ip কমান্ড শিখবেন? অ্যান্ড্রয়েড ১৩ বা তার পরের ভার্সনগুলোতে ifconfig কমান্ডটি কাজ নাও করতে পারে। তাই ভবিষ্যতের জন্য নিজেকে প্রস্তুত রাখতে ip কমান্ড শেখা জরুরি।

৪.৩ Traceroute এবং Tracepath: নেটওয়ার্কের মানচিত্র অঙ্কন
আপনি ঢাকা থেকে লন্ডনে একটি পার্সেল পাঠালেন। আপনি শুধু জানতে চান না পার্সেল পৌঁছেছে কি না (যেটা Ping করে), আপনি জানতে চান পার্সেলটি দুবাই হয়ে গেল, নাকি কাতার হয়ে? Traceroute হলো সেই ট্র্যাকিং সিস্টেম, যা দেখায় আপনার ডেটা প্যাকেটটি আপনার মোবাইল থেকে বের হয়ে কোন কোন দেশের কোন কোন রাউটার হয়ে ফেসবুকে বা গুগলে পৌঁছাল।
⚠️ টার্মাক্সের সমস্যা ও সমাধান
স্ট্যান্ডার্ড traceroute কমান্ডটি কাজ করার জন্য Root Permission দরকার হয় (কারণ এটি প্যাকেট ম্যানিপুলেট করে)। কিন্তু আমাদের তো রুট নেই। তাহলে উপায়?
সমাধান: Tracepath টার্মাক্সে নন-রুট ইউজারদের জন্য tracepath হলো সেরা বিকল্প। এটি বিশেষ এক ধরনের পোর্টে (High-Port UDP) নক করে, যার জন্য রুটের দরকার হয় না।
tracepath google.com
📊 আউটপুট বিশ্লেষণ
প্রতিটি লাইন একেকটি ‘Hop’ বা স্টপেজ।
১ম লাইনটি সাধারণত আপনার নিজের ওয়াই-ফাই রাউটার।
যদি কোনো লাইনে no reply দেখেন, তার মানে মাঝখানের ওই রাউটারটি সিকিউরিটি বা ফায়ারওয়ালের কারণে নিজের পরিচয় গোপন রাখছে।

৪.৪ Netstat এবং SS: সকেট এবং পোর্ট পর্যবেক্ষণ
আপনার বাসার সব দরজা-জানালা বন্ধ কি না, বা কোনো চোর জানালা দিয়ে উঁকি দিচ্ছে কি না—এটা কে চেক করবে? Netstat বা SS হলো সেই সিকিউরিটি গার্ড। আপনার মোবাইলে কোন অ্যাপ ইন্টারনেটের সাথে গোপনে কানেক্টেড আছে বা কোন পোর্ট খোলা আছে, তা এটি বলে দেয়।
কমান্ড:
ss -tuln

-t: TCP কানেকশন।
-u: UDP কানেকশন।
-l: লিসেনিং (Listening) বা খোলা পোর্ট।
-n: নাম না দেখিয়ে নম্বর দেখাও (দ্রুত কাজ করার জন্য)।
🚨 অ্যান্ড্রয়েড ১০+ এর সীমাবদ্ধতা (সতর্কবার্তা)
গুগল অ্যান্ড্রয়েড ১০ এবং তার পরবর্তী ভার্সনগুলোতে নিরাপত্তা অনেক কড়াকড়ি করেছে। /proc/net ফোল্ডারে সাধারণ অ্যাপের প্রবেশ নিষেধ। এর ফলে, নন-রুট টার্মাক্সে netstat বা ss দিলে আপনি আউটপুট ফাঁকা দেখতে পারেন, অথবা পোর্ট দেখা গেলেও কোন অ্যাপ (PID/Program Name) সেটি ব্যবহার করছে, তা দেখা যাবে না।
💡 ওয়ার্কঅ্যারাউন্ড (Workaround): নিজের ডিভাইসের খোলা পোর্ট দেখার জন্য আমরা Nmap ব্যবহার করতে পারি:
nmap -p- 127.0.0.1

৪.৫ Dig এবং Nslookup: DNS ইনভেস্টিগেশন
ইন্টারনেটের ফোনবুক হলো DNS (Domain Name System)। আপনি যখন ব্রাউজারে facebook.com লেখেন, ব্রাউজার তো নাম চেনে না, সে আইপি চেনে। সে ফোনবুকে (DNS Server) কল করে আইপি চায়। Dig (Domain Information Groper) হলো সেই টুল, যা দিয়ে আপনি এই ফোনবুকের পাতা উল্টে দেখতে পারেন।
🛠 কমান্ড
লিনাক্সে nslookup পুরনো হয়ে গেছে, dig হলো আধুনিক এবং পেশাদার টুল।
dig google.com +short

dig: কমান্ড।
+short: এর মানে “ভাই, এত বিস্তারিত হিজিবিজি টেকনিক্যাল তথ্য বাদ দিয়ে আমাকে সোজা আইপি অ্যাড্রেসটা দাও।”

অধ্যায় ৫: SSH (Secure Shell)—রিমোট অ্যাক্সেসের মাস্টারকি
টার্মাক্স ব্যবহারকারী হিসেবে আপনার জীবনের সবচেয়ে বড় আপগ্রেড হলো SSH। ভাবুন তো, আপনার মোবাইলটি একটি শক্তিশালী সার্ভার, আর আপনি আপনার আরামদায়ক ল্যাপটপ বা ডেস্কটপে বসে সেই সার্ভারটি নিয়ন্ত্রণ করছেন।
SSH (Secure Shell) হলো এমন একটি ক্রিপ্টোগ্রাফিক প্রোটোকল, যা একটি অনিরাপদ নেটওয়ার্কের (যেমন পাবলিক ওয়াই-ফাই) ওপর দিয়েও একটি “সুরক্ষিত টানেল” বা সুরঙ্গ তৈরি করে। এই টানেলের ভেতর দিয়ে যা কিছুই পাঠানো হোক না কেন (পাসওয়ার্ড বা ডেটা), তা এনক্রিপ্টেড থাকে, ফলে মাঝপথে কেউ তা দেখতে পায় না।
আসুন, আপনার ফোনকে একটি পোর্টেবল হ্যাকিং স্টেশনে রূপান্তর করি।

৫.১ SSH সার্ভার সেটআপ (ফোনকে পিসি থেকে কন্ট্রোল করা)
ফোনের টাচ কিবোর্ডে কোড লেখা বা স্ক্রিপ্ট এডিট করা অনেকটা চামচ দিয়ে মাটি খোঁড়ার মতো কষ্টসাধ্য। আমরা এখন কোদাল (PC) ব্যবহার করব।
ধাপ ১: ইনস্টলেশন ও পাসওয়ার্ড সেটআপ (Security Layer)
প্রথমে টার্মাক্সে SSH প্যাকেজটি ইনস্টল করতে হবে এবং একটি গোপন চাবি (পাসওয়ার্ড) সেট করতে হবে।
pkg install openssh
passwd

⚠️ হ্যাকার্স নোট (Password Blindness): passwd কমান্ড দেওয়ার পর যখন পাসওয়ার্ড চাইবে, আপনি টাইপ করবেন কিন্তু স্ক্রিনে কিছুই দেখা যাবে না (এমনকি স্টার চিহ্ন ******-ও আসবে না)। এটি লিনাক্সের একটি ডিফল্ট নিরাপত্তা ব্যবস্থা, যাতে পাশে দাঁড়ানো কেউ আপনার পাসওয়ার্ডের দৈর্ঘ্য অনুমান করতে না পারে। ঘাবড়াবেন না, টাইপ করে Enter দিন, এরপর কনফার্মেশনের জন্য আবার টাইপ করুন।
ধাপ ২: সার্ভার চালু করা (The Daemon)
এখন আমাদের ফোনের ভেতরে থাকা সার্ভারটি চালু করতে হবে।
sshd

🔍 টেকনিক্যাল বিশ্লেষণ (কেন ৮-০-২-২?): এই কমান্ডটি SSH Daemon (ব্যাকগ্রাউন্ড প্রসেস) চালু করে।
সাধারণ লিনাক্স সার্ভারে SSH পোর্ট হলো 22।
কিন্তু পোর্ট ১ থেকে ১০২৪ হলো “System Ports”, যা ব্যবহার করতে রুট পারমিশন লাগে।
যেহেতু টার্মাক্স সাধারণত নন-রুট (Non-Root) এনভায়রনমেন্ট, তাই এটি 22-এর বদলে 8022 পোর্ট ব্যবহার করে। পিসি থেকে কানেক্ট করার সময় এটি মনে রাখা খুব জরুরি।
ধাপ ৩: কম্পিউটার থেকে সংযোগ স্থাপন (The Handshake)
এখন আপনার পিসির টার্মিনাল (CMD, PowerShell বা Terminal) ওপেন করুন। কানেক্ট করার জন্য আমাদের তিনটি তথ্য লাগবে:
User: টার্মাক্সে whoami লিখলে পাবেন (সাধারণত u0_a… এমন বিদঘুটে কিছু)।
IP: টার্মাক্সে ifconfig লিখলে wlan0-এর নিচে পাবেন (যেমন: 192.168.1.101)।
Port: 8022.
পিসিতে নিচের কমান্ডটি লিখুন (আপনার তথ্য অনুযায়ী পরিবর্তন করে):

ssh -p 8022 [email protected]

🧠 কমান্ডের ব্যবচ্ছেদ (Code Anatomy):
ssh: ক্লায়েন্ট প্রোগ্রাম, যা পিসিতে চলছে।
-p 8022: পোর্ট ফ্ল্যাগ। আমরা পিসিকে বলে দিচ্ছি, “ভাই, ২২ নম্বর দরজায় টোকা দিও না, ৮-০-২-২ নম্বর দরজায় যাও।”
u0_aXXX: এটি আপনার ইউজারনেম।
@: এটি ইউজার এবং আইপি অ্যাড্রেসের মাঝে সেপারেটর বা বিভাজক।
192.168.1.101: গন্তব্য বা ডেস্টিনেশন আইপি।
টিপস: প্রথমবার কানেক্ট করার সময় Fingerprint ওয়ার্নিং আসবে। সেখানে yes টাইপ করুন। এরপর পাসওয়ার্ড চাইলে টার্মাক্সে সেট করা পাসওয়ার্ডটি দিন। ব্যাস! আপনি এখন পিসিতে বসে ফোনের টার্মাক্স চালাচ্ছেন!

৫.২ পাবলিক-কি অথেনটিকেশন (পাসওয়ার্ড ছাড়া ভিআইপি এন্ট্রি)
বারবার পাসওয়ার্ড টাইপ করা বিরক্তিকর এবং অটোমেশনের জন্য অসুবিধাজনক। এর সমাধান হলো SSH Key Pair। এটি অনেকটা পাসওয়ার্ডের বদলে বায়োমেট্রিক বা ফিঙ্গারপ্রিন্ট ব্যবহারের মতো।
এখানে দুটি চাবি তৈরি হয়:
Private Key: এটি আপনার পিসিতে থাকবে (খুবই গোপন)।
Public Key: এটি আপনি ফোনের টার্মাক্সে রেখে দেবেন (তালা)।
যখন আপনি লগইন করবেন, পিসি প্রাইভেট কি দিয়ে প্রমাণ করবে যে সে-ই আসল মালিক, তখন আর পাসওয়ার্ড লাগবে না।
পদ্ধতি:
১. পিসিতে কি (Key) জেনারেট করা: পিসির টার্মিনালে লিখুন:
ssh-keygen -t rsa

(কিছু না লিখে শুধু Enter চাপতে থাকুন যতক্ষণ না কি তৈরি হয়)।
২. পাবলিক কি ফোনে পাঠানো: এখন পিসির পাবলিক চাবিটি ফোনের authorized_keys ফাইলে কপি করতে হবে। নিচের কমান্ডটি দিন:
ssh-copy-id -p 8022 [email protected]

এখন থেকে আপনি যখনই লগইন করবেন, পাসওয়ার্ড ছাড়াই সরাসরি ঢুকে যাবেন। এটি যেমন সুবিধাজনক, তেমনি নিরাপদ।

৫.৩ ওয়েক-লক (Wake-lock): সংযোগ বিচ্ছিন্ন হওয়া রোধ
🔍 সমস্যা: অ্যান্ড্রয়েডের ব্যাটারি সেভিং
আপনি খেয়াল করবেন, ফোনের স্ক্রিন অফ হয়ে গেলে কিছুক্ষণ পর পিসির টার্মিনাল ফ্রিজ হয়ে যায় বা কানেকশন কেটে যায় (Broken Pipe Error)। এর কারণ হলো অ্যান্ড্রয়েডের Doze Mode। ব্যাটারি বাঁচাতে অ্যান্ড্রয়েড স্ক্রিন অফ হওয়ার পর সিপিইউ (CPU) এবং ওয়াই-ফাই প্রসেসগুলোকে ঘুম পাড়িয়ে দেয়।
🛠 সমাধান: ওয়েক-লক
টার্মাক্সকে অ্যান্ড্রয়েড সিস্টেমের কাছে “স্পেশাল পারমিশন” চাইতে হবে যেন স্ক্রিন অফ থাকলেও সিপিইউ সচল থাকে।
কমান্ড দিন:
termux-wake-lock

অথবা, নোটিফিকেশন বার থেকে টার্মাক্সের নোটিফিকেশনে “Acquire wakelock” বাটনে ক্লিক করুন। কাজ শেষ হলে ব্যাটারি বাঁচাতে লক ছাড়তে ভুলবেন না:
termux-wake-unlock

📝 প্রফেশনাল টিপস
সবসময় কাজ শেষে পিসির টার্মিনালে exit টাইপ করে সেশন শেষ করবেন।
যদি পিসি থেকে Connection refused দেখায়, তার মানে হয় আপনার ফোনের sshd চালু নেই, অথবা ফোন এবং পিসি একই ওয়াই-ফাই নেটওয়ার্কে নেই।

অধ্যায় ৬: SFTP (SSH File Transfer Protocol)—ফাইল ট্রান্সফার
এতক্ষণ আমরা শুধু কমান্ড বা টেক্সট আদান-প্রদান করেছি। কিন্তু ধরুন, আপনি পিসিতে একটি দারুণ পাইথন স্ক্রিপ্ট লিখেছেন এবং সেটি টার্মাক্সে রান করতে চান। অথবা টার্মাক্স দিয়ে কোনো ওয়েবসাইট হ্যাক করে (অনুমতি সাপেক্ষে!) তার ডেটাবেস ডাম্প পিসিতে আনতে চান। তখন কী করবেন?
এখানেই আসে SFTP।
অনেকে প্রশ্ন করতে পারেন, “ভাই, FTP (File Transfer Protocol) তো ছিলই, আবার SFTP কেন?”
FTP (পুরনো আমল): এটি হলো কাঁচের খামে চিঠি পাঠানোর মতো। চিঠিটা যে কেউ বাইরে থেকে পড়ে ফেলতে পারে (ডেটা এনক্রিপ্টেড থাকে না)।
SFTP (আধুনিক ও নিরাপদ): এটি হলো আর্মার্ড ট্রাকে করে টাকা পাঠানোর মতো। এটি SSH-এর সিকিউর টানেলের ভেতর দিয়ে চলে, তাই হ্যাকাররা মাঝপথে প্যাকেট স্নিফ (Sniff) করলেও আবর্জনা ছাড়া কিছুই পাবে না।
সুখবর হলো, আপনি যখন openssh প্যাকেজটি ইনস্টল করেছেন, তখন SFTP-ও তার সাথে ফ্রি ইনস্টল হয়ে গেছে!

৬.১ কমান্ড লাইন দিয়ে ফাইল ট্রান্সফার (হ্যাকার স্টাইল)
প্রফেশনালরা মাউস ছাড়া কাজ করতে ভালোবাসেন। চলুন দেখি কমান্ড লাইন দিয়ে কীভাবে ফাইল আদান-প্রদান করা যায়।
ধাপ ১: সংযোগ স্থাপন
পিসির টার্মিনাল বা CMD ওপেন করুন। ফোনের sshd চালু আছে কি না নিশ্চিত হয়ে নিচের কমান্ডটি দিন:
sftp -P 8022 [email protected]

⚠️ সতর্কবার্তা: দ্য ফ্ল্যাগ ট্র্যাপ (The Flag Trap)
নেটওয়ার্কিংয়ে ছোট হাতের এবং বড় হাতের অক্ষরের গুরুত্ব অপরিসীম।
SSH কানেকশনের সময় আমরা পোর্ট বোঝাতে ছোট হাতের -p ব্যবহার করেছি।
SFTP কানেকশনের সময় পোর্ট বোঝাতে বড় হাতের -P ব্যবহার করতে হবে। এই ছোট ভুলটির জন্য অনেক এক্সপার্টরাও ঘণ্টার পর ঘণ্টা সময় নষ্ট করেন। তাই সাবধান!
ধাপ ২: নেভিগেশন ও কমান্ড (Local vs Remote)
SFTP-তে লগইন করার পর আপনি আসলে একই উইন্ডোতে দুটি কম্পিউটারে অবস্থান করছেন।
Remote: আপনার ফোন (টার্মাক্স)।
Local: আপনার পিসি।
বিভ্রান্তি এড়াতে নিচের ছকটি দেখুন:

কাজের ধরন
রিমোট (ফোন) কমান্ড
লোকাল (পিসি) কমান্ড
বিবরণ
ফোল্ডার দেখা
pwd
lpwd
l মানে Local। lpwd দিলে পিসির ফোল্ডার দেখাবে।
ফাইল লিস্ট দেখা
ls
lls
ls দিলে ফোনের ফাইল দেখাবে, lls দিলে পিসির।
ডিরেক্টরি চেঞ্জ
cd
lcd
ফোল্ডার পরিবর্তন করার জন্য।

ধাপ ৩: আসল কাজ (আপলোড ও ডাউনলোড)
১. পিসি থেকে ফোনে পাঠানো (Upload) 📤
মনে করুন, আপনার পিসিতে hacker_script.py নামে একটি ফাইল আছে। সেটি ফোনে পাঠাতে চান। কমান্ড:
put hacker_script.py

put: মানে “রাখা”। আমি আমার পিসি থেকে ফাইলটি তুলে ফোনের সার্ভারে রাখলাম।
২. ফোন থেকে পিসিতে আনা (Download) 📥
মনে করুন, ফোনে camera_hack.jpg নামে একটি ছবি আছে। সেটি পিসিতে আনতে চান। কমান্ড:
get camera_hack.jpg

get: মানে “পাওয়া”। আমি ফোনের সার্ভার থেকে ফাইলটি চেয়ে নিলাম।

💡 বোনাস: গ্রাফিক্যাল মেথড (The GUI Way)
সবসময় কমান্ড মনে রাখা কষ্টকর হতে পারে। আপনি যদি উইন্ডোজের ফাইল এক্সপ্লোরারের মতো Drag & Drop (টেনে এনে ছেড়ে দেওয়া) পদ্ধতিতে ফাইল ট্রান্সফার করতে চান, তবে WinSCP বা FileZilla সফটওয়্যার ব্যবহার করতে পারেন।
কনফিগারেশন টিপস:
Protocol: SFTP নির্বাচন করবেন।
Host: ফোনের আইপি (192.168.x.x)
Port: 8022
User/Pass: টার্মাক্সের ইউজারনেম ও পাসওয়ার্ড।
কানেক্ট দিলে বাম পাশে আপনার পিসি এবং ডান পাশে আপনার ফোনের ফাইলগুলো দেখাবে। ব্যাস, এখন ইচ্ছেমতো ফাইল এদিক-সেদিক করুন!
📝 সারসংক্ষেপ
কানেক্ট করার সময় বড় হাতের -P মনে রাখবেন।
ফাইল পাঠাতে put।
ফাইল আনতে get।
পিসির ফোল্ডার দেখতে কমান্ডের আগে l লাগাবেন (যেমন lpwd)।

অধ্যায় ৭: পোর্ট ফরওয়ার্ডিং (Port Forwarding)—লোকাল থেকে গ্লোবাল
ইন্টারনেট জগতে প্রতিটি রাউটার বা ফায়ারওয়াল হলো একজন কড়া “দারোয়ান”-এর মতো। বাইরের কেউ চাইলেই আপনার ডিভাইসের ভেতরে ঢুকতে পারে না। কিন্তু মাঝে মাঝে আমাদের প্রয়োজন হয় বাইরের মানুষকে ভেতরে আসার অনুমতি দেওয়া (যেমন: আপনি টার্মাক্সে একটি ওয়েবসাইট হোস্ট করেছেন এবং বন্ধুকে দেখাতে চান)।
দারোয়ানকে ফাঁকি দিয়ে বা ম্যানেজ করে ডেটাকে এক জায়গা থেকে অন্য জায়গায় নিরাপদে পার করার এই প্রক্রিয়াই হলো পোর্ট ফরওয়ার্ডিং বা টানেলিং।

৭.১ SSH লোকাল ফরওয়ার্ডিং (Local Forwarding): দেয়ালের এপার-ওপার
📖 গল্পের ছলে বোঝা
ধরুন, আপনার ফোনের ভেতরে একটি গোপন পার্টি চলছে (ওয়েব সার্ভার পোর্ট ৮০৮০-এ)। কিন্তু আপনি ঘরের বাইরে (পিসিতে) দাঁড়িয়ে আছেন। দেয়ালের কারণে আপনি পার্টি দেখতে পাচ্ছেন না। SSH Local Forwarding হলো দেয়ালের মাঝে একটি ফুটো বা জানালা তৈরি করা। আপনি পিসির জানালায় (পোর্ট ৩০০০) চোখ রাখলেই ফোনের ভেতরের পার্টির (পোর্ট ৮০৮০) দৃশ্য দেখতে পাবেন।
🛠 প্র্যাকটিক্যাল সিনারিও
আপনি টার্মাক্সে একটি ফিশিং পেজ বা ওয়েবসাইট রান করেছেন যা localhost:8080-এ চলছে। আপনি সেটি আপনার পিসির বড় ব্রাউজারে টেস্ট করতে চান।
পিসির টার্মিনালে এই কমান্ডটি দিন:
ssh -L 3000:localhost:8080 -p 8022 [email protected]
🧠 কমান্ডের ব্যবচ্ছেদ (Anatomy)
ssh: আমাদের বাহন।
-p 8022: টার্মাক্সের প্রবেশের দরজা (SSH Port)।
-L: Local Forwarding। এর মানে হলো—”আমার পিসির লোকাল পোর্টকে টার্গেটের পোর্টের সাথে বাইন্ড (Bind) করো।”
3000: এটি আপনার পিসির পোর্ট। (আপনি চাইলে ৪০০০, ৫০০০ বা যেকোনো খালি পোর্ট দিতে পারেন)।
localhost:8080: এটি ফোনের ভেতরের ঠিকানা। অর্থাৎ যেখানে আসল সার্ভারটি চলছে।
ফলাফল: এখন পিসির ক্রোম ব্রাউজার ওপেন করে localhost:3000 টাইপ করলেই আপনি টার্মাক্সের সার্ভারটি দেখতে পাবেন।
৭.২ Ngrok ও Cloudflared: বিশ্বমঞ্চে আত্মপ্রকাশ
লোকাল ফরওয়ার্ডিং শুধু আপনার নিজের ওয়াইফাই নেটওয়ার্কের মধ্যে কাজ করে। কিন্তু আপনি যদি আমেরিকায় থাকা বন্ধুকে আপনার টার্মাক্সের সাইট দেখাতে চান? তখন আমাদের দরকার টানেলিং (Tunneling)। এটি ইন্টারনেট ভেদ করে আপনার ফোন পর্যন্ত একটি হাইওয়ে তৈরি করে।
১. Ngrok (দ্য ওল্ড জায়ান্ট)
এটি হ্যাকার এবং ডেভেলপারদের কাছে অত্যন্ত জনপ্রিয়, কিন্তু সেটআপ করা একটু ট্রিকি হতে পারে।
সেটআপ গাইড (ARM64 আর্কিটেকচার): মোবাইল প্রসেসর সাধারণত ARM64 আর্কিটেকচারের হয়, তাই পিসির ভার্সন নামালে চলবে না।

ডাউনলোড ও ইনস্টল:
pkg install wget unzip -y
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm64.zip
unzip ngrok-stable-linux-arm64.zip

পারমিশন ও রান: টার্মাক্সে কোনো স্ক্রিপ্ট রান করার আগে তাকে এক্সিকিউটেবল করতে হয়।
chmod +x ngrok
অথেনটিকেশন (বাধ্যতামূলক): Ngrok ওয়েবসাইটে সাইনআপ করে আপনার টোকেনটি কপি করুন এবং পেস্ট করুন:
./ngrok authtoken
ফাইনাল ব্লাস্ট:
./ngrok http 8080
(এখানে ./ মানে হলো কারেন্ট ফোল্ডার থেকে ফাইলটি রান করো)।
ফলাফল: স্ক্রিনে একটি https://….ngrok.io লিংক আসবে। এই লিংকটি পৃথিবীর যে কাউকে দিলে সে আপনার টার্মাক্সের সাইট দেখতে পাবে
২. Cloudflared (দ্য মডার্ন হিরো) 🦸‍♂️
Ngrok-এর ফ্রি ভার্সনে লিংক বেশিক্ষণ থাকে না এবং স্পিড কম পাওয়া যায়। এর সেরা বিকল্প হলো Cloudflare Tunnel। এটি সম্পূর্ণ ফ্রি, ফাস্ট এবং কোনো অ্যাকাউন্ট খোলার ঝামেলা নেই (Quick Tunnel-এর ক্ষেত্রে)।

সেটআপ গাইড:
রিপোজিশন সেটআপ: ক্লাউডফ্লেয়ার সাধারণ প্যাকেজ লিস্টে থাকে না, তাই এক্সট্রা রিপোজিটরি যোগ করতে হয়।
pkg install tur-repo
ইনস্টল:
pkg install cloudflared
রান করুন: ধরুন আপনার সার্ভার ৮০৮০ পোর্টে চলছে।
cloudflared tunnel –url http://localhost:8080
ফলাফল: টার্মিনালে আপনি একটি trycloudflare.com যুক্ত লিংক পাবেন। এটি অত্যন্ত দ্রুত এবং স্থিতিশীল।
📝 হ্যাকার্স নোট (নিরাপত্তা সতর্কতা)
পোর্ট ফরওয়ার্ডিং বা টানেলিং করার অর্থ হলো আপনি আপনার ডিভাইসের দরজা পুরো দুনিয়ার জন্য খুলে দিচ্ছেন।
সাবধানতা: কাজ শেষ হওয়া মাত্রই Ctrl + C চেপে টানেল বন্ধ করবেন।
ঝুঁকি: বেশিক্ষণ টানেল ওপেন রাখলে হ্যাকাররা রিভার্স অ্যাটাক করে আপনার ফোনে ঢুকতে পারে। তাই প্রয়োজন ছাড়া এটি চালু রাখবেন না।
এখন আপনার টার্মাক্স আর শুধু একটি অ্যাপ নয়, এটি একটি গ্লোবাল সার্ভার! 🌐
অধ্যায় ৮: Wget এবং Curl—ওয়েব কন্টেন্ট ডাউনলোড
কমান্ড লাইন থেকে ইন্টারনেট ব্রাউজ করার হাতিয়ার।
৮.১ Wget (World Wide Web Get)
এটি মূলত ডাউনলোডার। নেটওয়ার্ক স্লো থাকলেও এটি ভালো কাজ করে।

Bash

wget -c http://example.com/bigfile.zip

-c: Continue. ডাউনলোড মাঝপথে কেটে গেলে আবার সেখান থেকেই শুরু হবে 35।
৮.২ Curl (Client URL)
এটি ডেটা ট্রান্সফার এবং API টেস্টিংয়ের জন্য সেরা।

curl -I http://google.com
-I: শুধু হেডারের তথ্য দেখাবে (সার্ভার টাইপ, রেসপন্স কোড)। পুরো পেজ ডাউনলোড করবে না 36।
অধ্যায় ৯: উপসংহার এবং সতর্কতা
অভিনন্দন! আমরা টার্মাক্সের অলিগলি থেকে শুরু করে নেটওয়ার্কিংয়ের রাজপথ—অনেকটা পথ পাড়ি দিয়েছি। আপনার হাতে থাকা যে ফোনটি দিয়ে আগে শুধু ফেসবুক চালানো হতো, সেটি এখন এনক্রিপটেড টানেল তৈরি করতে পারে, সার্ভার কন্ট্রোল করতে পারে, এমনকি ইন্টারনেটের অদৃশ্য ট্রাফিকও দেখতে পারে।
আপনি এখন আর সাধারণ ইউজার নন, আপনি একজন পাওয়ার ইউজার। তবে মনে রাখবেন, পাওয়ারের সাথে সবসময় একটি অদৃশ্য শিকল থাকে—সেটি হলো দায়িত্ববোধ।
⚠️ ডিজিটাল রেড লাইন (সতর্কতা)
হ্যাকিং শেখাটা যতটা রোমাঞ্চকর, জেলখানাটা ঠিক ততটাই ভয়ানক।
১. আপনি অদৃশ্য নন: ভিপিএন বা টর (Tor) ব্যবহার করলেও আপনার ডিজিটাল ফুটপ্রিন্ট বা প্যাকেট সিগনেচার কোথাও না কোথাও লগ হচ্ছে। কোনো সরকারি বা প্রাইভেট সার্ভারে অনুমতি ছাড়া nmap চালানো মানে নিজের পায়ে কুড়াল মারা।
২. ধ্বংস নয়, সৃষ্টি: DoS অ্যাটাক বা সাইট ডাউন করা কোনো দক্ষতার পরিচয় নয়, এটি দুর্বলতা। সাইবার আইনে এটি বড় অপরাধ।
🛡️ হোয়াইট হ্যাট শপথ (The White Hat Oath)
একজন প্রকৃত হ্যাকার সিস্টেম ভাঙে না, জোড়া লাগায়।
আপনার ল্যাব: হ্যাকিং প্র্যাকটিস করার জন্য localhost বা TryHackMe-এর মতো প্ল্যাটফর্ম ব্যবহার করুন।
আপনার নীতি: অনুমতি ছাড়া কারো ডিজিটাল ঘরে উঁকি দেবেন না।
প্রযুক্তিকে ভালোবাসুন, দক্ষ হোন, কিন্তু নিজের নিরাপত্তা এবং দেশের আইনকে সম্মান করুন। হ্যাপি ইথিক্যাল হ্যাকিং! 🛡️
এতক্ষণ আমরা অনেক কনফিগারেশন এবং টুল নিয়ে কাজ করেছি। কিন্তু ভাবুন তো, ভুল করে কোনো কমান্ড দিয়ে যদি আপনার এত কষ্টের সব সেটআপ বা কোড ডিলিট হয়ে যায়? অথবা আপনি আপনার তৈরি করা প্রজেক্টটি বিশ্বের অন্য হ্যাকারদের সাথে শেয়ার করতে চান?
সামনের টিউটোরিয়ালে আমরা শিখব প্রোগ্রামিং জগতের ‘টাইম মেশিন’—Git & GitHub।
কীভাবে কোডের প্রতিটি পরিবর্তন সেভ রাখবেন (যেন ভুল হলে আগের অবস্থায় ফিরে যাওয়া যায়)?
টার্মাক্সের কোড কীভাবে নিরাপদে ক্লাউডে (GitHub) ব্যাকআপ রাখবেন?
টিমওয়ার্ক এবং ভার্সন কন্ট্রোলের খুঁটিনাটি।
নতুন কিছু শিখতে এবং সাইবার সিকিউরিটির এই রোমাঞ্চকর যাত্রায় এগিয়ে যেতে বাগমহল (Bugmohol)-এর সাথেই থাকুন! 💻🛡️

🔔 আমাদের সাথে থাকুন — Bug Mohol এ বাংলায় সাইবার দুনিয়ার গভীরতম
বিশ্লেষণ পাবেন।

খবরটি আপনার কেমন লাগলো?

পাঠকদের মন্তব্য

০ টি
মন্তব্য লিখুন
এখনই কোনো মন্তব্য নেই!
এই বিষয়ে সর্বপ্রথম আপনার মূল্যবান মতামত প্রকাশ করুন।
    রিপ্লাই আপনি উত্তর দিচ্ছেন

    আপনার মতামত জানান

    আপনার ইমেইল গোপন থাকবে। আবশ্যকীয় ক্ষেত্রগুলো চিহ্নিত করা আছে *

    অনুসন্ধান করুন
    মেনু
    কুইক হাব ও ইউটিলিটি
    ভাষা নির্বাচন (LANGUAGE)