আর কতকাল সাধারন ইউজার হয়ে মানুষের কাছে ধর্না দিবেন। আসুন কম্পিউটারের এ্যাডভান্স ইউজার হই। netstat কমান্ড শিখি।

14 185

ইন্টারনেট কানেকশন এবং নেটওয়ার্ক চেক করার জন্য দরকারী একটি দরকারী টুল হলো netstat. বিশেষ করে কম্পিউটারে কোন ম্যালওয়ার বা অন্য কোন অদরকারী সফটওয়্যার ইন্টারনেট কানেক্টেড হয়ে আপনারই অজান্তে কোন কিছু ডাউনলোড বা কিছু আপলোড করছে কিনা। পোষ্টটি কিছু সময় নিয়ে পড়ুন। আমি যদি ৩-৪ ঘন্টা ব্যয় করে কষ্ট করে লিখতে পারি তাহলে আপনার কি দশ মিনিট সময়ও হবে না পড়ার? আর এখন সময় না থাকলে এড়িয়ে যান কিন্তু পড়ে আবার এসে অবশ্যই পড়ে নিবেন। আমি যদি আপনাকে আমার এই পোষ্টটি বুঝাতে অক্ষম হই বা কোথাও না বুঝেন, তাহলে লজ্জা না করে নিচে কমেন্টের ঘরে কমেন্ট করবেন।

পোষ্টটি পড়লে আপনি আরও জানতে পারবেন যে,

১.      ইন্টারনেট কানেক্টেড হয়ে কোন ব্রাউজার ওপেন করলাম না বা ব্রাউজার ওপেন করে কিছু না করলেও আমার মেগাবাইট কেন কাটছে

আর আমি ইনশাল্লাহ পরবর্তিতে আরও কিছু এই জাতীয় পোষ্ট করবো। তাই সেই সকল পোষ্ট বুঝতে হলে আপনাকে আগে এই netstat সম্পর্কে ভালভাবে জানতে বা বুঝতে হবে। তো চলুন শুরু করি।

উইন্ডোজ কি+R একসাথে চাপুন। Run কমান্ড চালু হবে। Run অবশ্য আপনি Start হতেও চালু করতে পারবেন। এখন এই Run এ লিখুন cmd এবং enter দিন। কমান্ড প্রম্পট চালু হবে এবং দেখতে পারবেন লেখার জন্য কারসর ব্লিংক করছে। কিবোর্ডের সাহায্যে লিখুন netstat –a  যেভাবে লিখেছি ঠিক সেভাবে লিখে এন্টার দিন অর্থাৎ প্রথমে netstat লিখার পর একটি স্পেস তারপর ‘-’ ড্যাস চিন্হ এরপর কোন স্পেস না দিয়ে a লিখবেন, এবং তার পর এন্টার দিবেন। এন্টার দেবার পর কি দেখলেন তা এখন না দেখলেও চলবে। নিচের লেখাগুলো পড়ুন। এখানে a স্থলে নিচের অক্ষর বা লেখাগুলো দিবেন।

এই netstat কিছু সুইচ (১২ টার মত) আছে। চলুন জেনে নেই সুইচ গুলো কি কি ও তার কাজ।

netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval]

নিচে একটি টেবিলে এই সুইচ গুলোর কাজ গুলো লিখা হলো।

টেবিল: netstat কমান্ডের কিছু সুইচ

সুইচ

বর্ননা

-aসকল কানেকশন এবং পোর্টসমুহ দেখাবে
-bসফটওয়্যার সমুহের এক্সিকিউটিবল কানেকশন এবং তাদের ব্যবহ্রত পোর্ট সমুহ দেখাবে
-eইথারনেট statistics  দেখাবে
-fforeign addresses গুলোর Fully Qualified Domain নাম সমুহ দেখাবে (In Windows Vista/7 only)
-nAddresses এবং port নম্বরগুলো numerical ফর্মে দেখাবে
-oপ্রতিটি কানেকশনের নিজস্ব process ID দেখাবে।
-p protoTCP, UDP, TCPv6, or UDPv6 কানেকশনগুলো দেখাবে
-rrouting টেবিল দেখাবে
-sপ্রতিটি protocol এর statistics দেখাবে
-tবর্তমান কানেকশনের offload state দেখাবে, (শুধুমাত্র Windows Vista/7 এর জন্য)
-vযখন –b এর সাথে conjunction করে দেখা হবে তখন সকল সফটওয়্যার এর এক্সিকিউটেবল কম্পোনেন্ট এবং তার নির্ধারিত পোর্টসমুহ ধারাবাহিক ভাবে দেখাবে। (Windows XP SP2, SP3)
intervalআমি এখানে interval লিখেছি। আপনারা আবার তা লেইখেন না। এটা আসলে একটি ইন্টিগার যার মাধ্যমে আপনি নিদ্রিষ্ট একটি কমান্ড যত সেকেন্ড লিখে দিবেন তার পর পর এর রেজাল্ট Continues ভাবে দেখতে পারবেন। মানে এই ভাবে লিখবেন netstat –r 5 এখানে লক্ষ্য করুন আমি 5 লিখেছি মানে হলো প্রতি পাচঁ সেকেন্ড পর পর আপনি নতুন রেজাল্ট দেখতে পারবেন।

 

NETSTAT এর এপ্লিকেশন সমুহ:

NETSTAT হলো নেটওয়ার্ক কানেকশন চেক করার জন্য one of a number of command-line tools. এর মাধ্যমে কম্পিউটারের বিভিন্ন কানেকশনের TCP/IP চেক করা হয়। Windows XP SP2 তে –B নামে একটা নতুন সুইচ এ্যাড করা হয়েছে যার মাধ্যমে সত্যিকার ভাবে বিভিন্ন সফটওয়্যার এর এক্সিকিউটেবল কানেকশন দেখা যাবে। এই নতুন সুইচের মাধ্যমে একটি সুযোগ দেয়া হয়েছে ম্যালওয়্যার ধরার জন্য যা আপনার অজান্তে সে কম্পিউটার হতে মালামাল পাচার করে। একজন সিস্টেম এ্যাডমিনেস্টেটর বিভিন্ন উপায়ে এই সকল অবৈধ পাচার কাজ বন্ধ করতে পারেন। কিন্তু আমি আপনাকে দুইটা উধাহরন দিব যা একজন হোম পিসি ইউজারের জন্য খুবই হেল্পফুল।

 

TCP/IP কানেকশন চেক করা:

 

TCP এবং UDP কানেকশনের এবং তাদের IP ও port addresses দেখার জন্য দুইটি কমান্ড লাইন সুইচ সংযুক্তি করেছি: netstat -an

নিচের ছবিটি খেয়াল করুন এই কমান্ড লাইন ব্যবহারের ফলে কি আউটপুট আসলো:

 

উপরের ছবিতে যে সকল ইনফরমেশন দেখা যাচ্ছে তা হল প্রটোকল, লোকাল এ্যাডড্রেস(local address), the remote (foreign) address এবং বর্তমান কানেকশনের অবস্থা। দেখুন যে এখানে আইপি এ্যাডড্রেস গুলো দেখা যাচ্ছে। কিন্তু ডানের দিকে State এ দেখা যাচ্ছে যে LISTENING, CLOSE_WAIT এইগুলো আবার কি???? ঠিক আছে নিচের টেবিল হতে দেখে নিন এগুলোর মানে কি।

 

টেবিল: বিভিন্ন প্রকার কানেকশনের বর্ননা:

 

Stateবর্ননা
CLOSEDএইটা ইঙ্গিত করে যে client হতে ACK নামক একটা সিগন্যাল server গ্রহন করেছে এবং কানেকশনটি বন্ধ হয়ে গেছে।
CLOSE_WAITএইটা ইঙ্গিত করে যে client হতে first FIN নামক একটা সিগন্যাল server গ্রহন করেছে এবং কানেকশনটি বন্ধ হবার জন্য প্রস্তুত হচ্ছে।
ESTABLISHEDএইটা ইঙ্গিত করে যে client হতে SYN নামক একটা সিগন্যাল server গ্রহন করেছে এবং কানেকশনটি চালু হয়ে গেছে।
FIN_WAIT_1এইটা ইঙ্গিত করে যে কানেকশনটি এ্যাকটিভ আছে কিন্তু বর্তমানে ব্যবহ্রত হচ্ছে না।
FIN_WAIT_2এইটা ইঙ্গিত করে যে কানেকশনটি মাত্র server হতে first FIN signal গ্রহন করেছে।
LAST_ACKএইটা ইঙ্গিত করে যে সার্ভার তার নিজের FIN signal পাঠানোর জন্য প্রস্তুত হচ্ছে।
LISTENINGএইটা ইঙ্গিত করে যে সার্ভার একটি কানেকশন গ্রহন করবার জন্য প্রস্তুত।
SYN_RECEIVEDএইটা ইঙ্গিত করে যে client হতে SYN নামক একটা সিগন্যাল এই মাত্র server গ্রহন করেছে।
SYN_SENDএইটা ইঙ্গিত করে যে নিদ্রিষ্ট একটি কানেকশন open and active
TIME_WAITএইটা ইঙ্গিত করে যে ক্লায়েন্ট হতে সাড়া পেয়ে কানেকশন এক্টিভ হয়েছে কিন্তু বর্তমানে ব্যবহ্রত হচ্ছে না।

 

এখন ম্যালওয়ার চেক করার জন্য দেখবো কোন প্রোগ্রাম কানেক্টটেড হচ্ছে বা হতে চাচ্ছে:

কোন কোন প্রোগ্রাম, বর্হিবিশ্বের সাথে আমার কম্পিউটার কানেক্টেড করছে তার বের করার জন্য নিচের কমান্ডটি ব্যবহার করবো

Netstat –b

আসলে সবচেয়ে ভাল হয় যদি একটি নিদ্রিষ্ট সময় পর পর আমরা এইটা চেক করি। কিন্তু আমরাতো মেশিন না, মানুষ তাই আরো ভাল হয় যদি এই সকল রেজাল্টের দিকে সবসময় চোখ না রেখে একটা লিখিত রেকর্ড রাখি। লিখিত রেকর্ড পাবার জন্য কমান্ডটা হবে এই রকম

netstat -b 5 >> C:\connections.txt

এখন আপনি আপনার সি ড্রাইভে গিয়ে দেখুন যে connections.txt নামক একটা রেকর্ড তৈরী হয়েছে। উল্লেখ্য যে, এই কমান্ডটা প্রতি পাচঁ সেকেন্ড পর পর মনিটর করতে থাকবে। এটি বন্ধ করার জন্য Crtl+c চাপুন। এই পদ্ধতি সিঙ্গেল কোন মেশিনের জন্য সিস্টেম স্লো হবার বার্তা দেখাতে পারে। কিন্তু বর্তমান আধুনিক যে কোন সিপিউ তে কোন সমস্যা হবে না। একটি সাধারন আউটপুট নিচের ছবিতে দেখানো হয়েছে।

 

 

উল্লেখ্য যে প্রোসেস আইডি (PID) যখন এক্সপি ব্যবহার করবেন তখন দেখানো হবে। আর সেভেনে সুইচ “o” এ্যাড করা হয়েছে প্রোসেস আইডি (PID) দেখার জন্য। এই কমান্ড গুলো অন্যান্য টুলস যেমন       task manager      এর সাথে কম্বাইন্ড করা হয়েছে যার মাধ্যমে এক্সিকিউটেবল ফাইলস ও তাদের প্রোসেস যা ইন্টারনেট কানেক্টেড এর জন্য চেষ্টা করে।

ধন্যবাদ কষ্ট করে আমার লেখাটি পড়ার জন্য। বিস্তারিত ভাবে লেখার চেষ্টা করলাম। জানিনা কতটুকু সার্থক হলাম। টুকটাক কিছু না বুঝলে গুগল এর সাহায্য নিন। আমার এই পোষ্টের ব্যপারে যদি তার পরেও মনে কোন প্রশ্ন থাকে তাহলে তাৎক্ষনিকভাবে আমাকে পেতে আমার ফেসবুক আইডিতে সবাইকে স্বাগতম। আমার ফেসবুক আইডি :     https://www.facebook.com/mdnsr

বি:দ্র: আপনারা আবার সুপার এ্যাডভান্স ইউজার হতে গিয়ে আমার দেখান অক্ষর ছাড়া অন্য কিছু দিয়ে ট্রাই করবেন না। ধন্যবাদ।

14 মন্তব্য
  1. Nafiz Ur Rahman বলেছেন

    সুন্দর পোস্ট। ধন্যবাদ আপনাকে।

  2. আকাশ বলেছেন

    Awesome পোস্টটি শেয়ার করার জন্য ধন্যবাদ।

  3. MD Mahmudul Hasan বলেছেন

    very nice post. for me.

    1. Free Download Point বলেছেন

      thanks boss agea jantam na

  4. Nil Manush বলেছেন

    নাইস। খুব ভাল পোষ্ট। ধন্যবাদ আপনাকে।

  5. Real বলেছেন

    ধন্যবাদ আপনাকে, সুন্দর পোস্ট।

  6. paisanai বলেছেন

    Nice post.

  7. HassanMahfuj বলেছেন

    amon kichui to dorkar

  8. Turjo, Bangladesh. বলেছেন

    নাসির ভাই, কেমন আছেন?
    আপনার আজকের লেখাটি দেখছি অনেক বেসিক হয়ে গেল। প্রথমেই বলে নেই, আপনি আজকের লেখার শেষে যা বলেছেন তার সাথে আমি পুরোপুরি একমত নই।
    আপনি বিশেষ দ্রষ্টব্যে লিখেছেন, “আপনারা আবার সুপার এ্যাডভান্স ইউজার হতে গিয়ে আমার দেখান অক্ষর ছাড়া অন্য কিছু দিয়ে ট্রাই করবেন না।”
    কিন্তু আমিতো এতে খারাপ কিছুই খুজে পাচ্ছিনা!
    ক্লাস সেভেন থেকে যখন কম্পিউটারের সাথে পরিচয়, তখন থেকেই মূলত এগুলো জেনে আসছি। কম্পিউটারে commend prompt চালু করে এই ধরনের কমান্ডের আংশিক দিলেই সম্ভাব্য সকল কমান্ডের সংক্ষিপ্ত বর্ননা পাওয়া যায়।
    উদাহরণ হিসেবে এটাই ধরেন, START/RUN এ যেয়ে cmd টাইপ করে enter প্রেস করার পর netstat x বা y অথবা z লিখে পূনরায় Enter দিলেই সবগুলো কমান্ডের বর্ননা পাওয়া যায়।
    তাছাড়া মাইক্রোসফটের ওয়েব সাইটেও এই বিষয়ে অনেক তথ্য রয়েছে। আমিতো পিসি চালানোর প্রাথমিক পর্যায় থেকে এভাবেই অনেক কিছু জেনেছি। পরে প্রাতিষ্ঠানিক শিক্ষা নিতে গিয়ে বিষয়গুলো আমার কাছে আরো সহজ মনে হয়েছে।
    আমার মনেহয়, বিষয়গুলো নিয়ে যে যত ঘাটাঘাটি করবে, সে তত বেশী শিখতে পারবে। সব জিনিষ তো পড়ে পড়ে শেখা যায়না।
    যাহোক, কিছু মনে করবেন না। আসলে আপনার কাছথেকে সবসময়ই আমাদের নতুন কিছুর আশা থাকে। আজকাল তো বিভিন্ন সাইটে উইন্ডোজের প্রচুর কমান্ড লিষ্ট নিয়ে লেখা পাওয়া যায়। এখানেও মনেহয় একজন শেয়ার করেছিলেন। তো আপনি কমান্ড বিষয়ে আরো advance তথ্য তুলে ধরতে পারেন। যেমন কমান্ডের সাহায্যে ট্রেস করা, তারপর dns পরিবর্তন, আইপি হাইড, যেকোন লিংকের ব্যাগ্রাউন্ড সম্পর্কে তথ্য বের করা বা কমান্ডের সাহায্যে পিসির যেসব কাজ সরাসরি করা যায় ইত্যাদি যেগুলো অনেকের কাজে আসতে পারে।
    এছাড়া TCP/IP সম্পর্কেও বিস্তারিত আলোচনা করতে পারেন। রিমোট নেটওয়ার্কের ক্ষেত্রে সংশ্লিষ্ট কমান্ডগুলোর ব্যাবহার লিখতে পারেন। বর্ননামূলক লেখার থেকে মনেহয় ওটা আরো বেশী ভালো হবে।
    কারণ, আমরা মূল বিষয়ের বিশ্লেষনের থেকে আসন্ন ফলাফলের দিকেই বেশি মনযোগী। এখানের অনেকেই আছেন যারা বিজ্ঞান ছাড়া অন্যান্য বিষয় নিয়ে পরাশোনা করেছেন। তাদের কাছে আপনি যতই বিশ্লেষন করুন, তারা চাইবে কিভাবে আউটপুট পাওয়া যায়। এদেরকে বোঝাতে explicit learning থেকে implicit learning-টাই বেশী ফলপ্রসূ হবে। দেখুন, ইতিমধ্যেই ফেসবুকে একজনকে পাওয়া গেছে। sazzad habib.
    I think you got it. 🙂
    আপনার জন্য অনেক শুভকামনা। – Turjo

  9. রনি মজুমদার বলেছেন

    নেটওয়ার্কিং নিয়ে আরো পোস্ট চাই ভাই …

  10. রনি মজুমদার বলেছেন

    নাইস। খুব ভাল পোস্ট। ধন্যবাদ আপনাকে। 😀

  11. নাটের গুরু বলেছেন

    নাছির ভাই শিখার অনেক কিছু বাকি আছে।
    এমন পোস্ট আরো ছাই আরো ছাই
    ধন্যবাদ আপনাকে।

  12. hrsagar বলেছেন

    nice post thanks

উত্তর দিন