নাম দেখে ভয় পাওয়ার কিছু নাই । এই অংশে আপনাদের নেটওয়ার্কিং সম্পর্কিত কিছু কমান্ড দেখানো হবে যেগুলো ব্যবহার করে আপনি খুব সহজেই আপনার নেটওয়ার্ক সম্পর্কে জানতে পারবেন । সহজে ফাইল আদান প্রদান করতে পারবেন । সব থেকে বড় কথা আপনি একটা পরিষ্কার ধারনা পাবেন যে কিভাবে ইন্টারনেট কাজ করে ।
পিং (ping)
ping হচ্ছে সব থেকে বেসিক নেটওয়ার্কিং কমান্ড। এটি নেটওয়ার্ক হোস্ট এর কাছে একটি স্পেশাল রিকুয়েস্ট পাঠায়। ping কমান্ড এর সাথে একটি নেটওয়ার্ক হোস্ট দিতে হয়। মানে হচ্ছে ping কমান্ড দিতে হয় এইভাবে:
ping your_specified_network_host( website address, ip address )
ping কমান্ডটি আপনার নির্ধারিত নেটওয়ার্ক হোস্ট এর কাছে IMCP ECHO_REQUEST নামক একটি বিশেষ নেটওয়ার্ক প্যাকেট পাঠায় । আপনার নেটওয়ার্ক ঠিক থাকলে আপনি মোটামুটি সব নেটওয়ার্ক ডিভাইস থেকে প্রতিউত্তর পাবেন। তো চলুন দেখা যাক আমাদের পিসি তে ping কমান্ড দিলে কি ঘটে।
আমি ping এর সাথে নেটওয়ার্ক হোস্ট হিসেবে www.github.com ব্যবহার করেছি। আপনি ইচ্ছা করলে অন্য সাইট এমনকি অন্য কারো আইপি এড্রেস ও ব্যবহার করতে পারেন।
me@howtocodepc:~$ ping www.github.com
PING github.com (192.30.252.130) 56(84) bytes of data.
64 bytes from github.com (192.30.252.130): icmp_seq=1 ttl=53 time=269 ms
64 bytes from github.com (192.30.252.130): icmp_seq=2 ttl=53 time=253 ms
64 bytes from github.com (192.30.252.130): icmp_seq=3 ttl=53 time=254 ms
64 bytes from github.com (192.30.252.130): icmp_seq=4 ttl=53 time=249 ms
64 bytes from github.com (192.30.252.130): icmp_seq=5 ttl=53 time=257 ms
64 bytes from github.com (192.30.252.130): icmp_seq=6 ttl=53 time=259 ms
64 bytes from github.com (192.30.252.130): icmp_seq=7 ttl=53 time=251 ms
64 bytes from github.com (192.30.252.130): icmp_seq=8 ttl=53 time=256 ms
64 bytes from github.com (192.30.252.130): icmp_seq=9 ttl=53 time=264 ms
64 bytes from github.com (192.30.252.130): icmp_seq=10 ttl=53 time=266 ms
--- github.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
একবার ping কমান্ড দেয়ার পর আপনি যতক্ষণ না ম্যানুয়ালি কমান্ড বন্ধ করবেন ততক্ষণ আপনার পিসি থেকে নির্দিষ্ট সময় পর পর( ডিফল্ট 1s ) প্যাকেট নেটওয়ার্ক হোস্ট এর কাছে যেতে থাকবে। ping কমান্ডটি যখন আপনি ctrl + C চেপে কমান্ডটিকে ইন্টারাপ্ট করবেন (আমার উদাহরনে ১০ম প্যাকেট ) তখন পর্যন্ত পারফরমেন্স এর পরিসংখ্যান দেখাবে। আপনার নেটওয়ার্ক যদি পারফেক্ট হয় তাহলে ০ পারসেন্ট প্যাকেট লস দেখাবে।
লিনাক্স হোস্ট সহ যেকোনো ডিভাইসকে আপনি এমনভাবে কনফিগার করতে পারবেন যেন তা ping রিকুয়েস্ট কে ইগনোর করে । এটি মূলত করা হয় নেটওয়ার্ক সিকিউরিটি নিশ্চিত করতে।
রাউটার ট্রেসিং
একজন ইউজার যখন কোনো সার্ভারের সাথে যোগাযোগ করে তখন তাকে কয়েকটি রাউটার ঘুরে যেতে হয়। এই মধ্যবর্তী রাউটার সম্পর্কিত তথ্যের জন্য traceroute কমান্ডটি ব্যবহার করা হয়। আমরা যদি gitbook.com এর রাউটার ট্রেস করতে চাই তাহলে লিখতে হবে:
me@howtocode-pc:~$ traceroute gitbook.com
এবং আমরা এরকম একটি ফলাফল পেয়েছি:
me@howtocode-pc:~$ traceroute to gitbook.com (216.239.32.21), 30 hops max, 60 byte packets
1 * * *
2 10.26.206.193 (10.26.206.193) 99.166 ms 109.373 ms 119.094 ms
3 10.26.206.244 (10.26.206.244) 139.325 ms 139.507 ms 139.705 ms
4 202.4.173.34 (202.4.173.34) 149.646 ms 150.007 ms 159.432 ms
5 103.7.249.69 (103.7.249.69) 80.005 ms 89.957 ms 90.246 ms
6 xe-cig-010-jag-110.pico.net.bd (103.7.251.121) 90.441 ms 91.980 ms 82.035 ms
7 xe-jig-120-cig-120.pico.net.bd (103.7.251.77) 71.758 ms 60.009 ms 59.706 ms
8 103.7.251.138 (103.7.251.138) 79.648 ms 69.523 ms 69.430 ms
9 103.7.249.250 (103.7.249.250) 159.567 ms 140.180 ms 140.004 ms
10 72.14.232.110 (72.14.232.110) 139.844 ms 149.779 ms 72.14.233.204 (72.14.233.204) 148.932 ms
11 72.14.239.22 (72.14.239.22) 138.316 ms 148.782 ms 209.85.243.245 (209.85.243.245) 151.337 ms
12 209.85.248.25 (209.85.248.25) 150.106 ms 72.14.239.61 (72.14.239.61) 130.583 ms 209.85.246.83 (209.85.246.83) 130.820 ms
13 * * *
14 any-in-2015.1e100.net (216.239.32.21) 129.580 ms 139.720 ms 139.401 ms
আমরা দেখতে পাচ্ছি প্রথম লাইনে বলা হচ্ছে:
traceroute to gitbook.com (216.239.32.21), 30 hops max, 60 byte packets
অর্থাৎ gitbook.com যার IP address 216.239.32.21 এর জন্য রাউট খুঁজবে। সর্বোচ্চ ৩০টি হপ(hop) বা রাউটার পর্যন্ত সে আমলে নেবে এবং এর জন্য 60 বাইটের ডাটা প্যাকেট ব্যবহার করবে।
তারপরেই প্রতি লাইনে হপ এর নম্বরসহ একটি করে রেজাল্ট পাচ্ছি। যার শুরুতে সার্ভারের নাম তারপর ব্রাকেটে তার এড্রেস। যেক্ষেত্রে সার্ভার এসব তথ্য দিতে অস্বীকৃতি জানায় সেক্ষেত্রে আমরা '*' চিহ্ন দেখছি।
নেটস্ট্যাট (netstat)
নেটওয়ার্ক সম্পর্কিত বিভিন্ন তথ্য আমরা নেটস্ট্যাট দিয়ে দেখতে পারি। যেমন বর্তমান নেটওয়ার্ক ইন্টারফেসগুলো দেখতে আমরা ব্যবহার করবো:
এখানে আমরা কয়েকটি ইন্টারফেস দেখতে পাচ্ছি। এবং দেখতে পাচ্ছি তাদের সম্পর্কিত বিভিন্ন তথ্য। আমাদের ইন্টারফেসের নামের অর্থগুলো জানা দরকার কেননা পরবর্তীতে কাজে লাগবে। এখানকার চারটি ইন্টারফেস হল:
eth0: ইথারনেট ইন্টারফেস।
lo: লোকাল লুপব্যাক যা আপনাকে লোকালহোস্ট প্রোভাইড করে।
ppp0: মোবাইল ব্রডব্যান্ড যা ইউএসবিতে কানেক্ট করেছি।
iftop কমান্ডের সাহায্যে আমরা সহজেই নেটওয়ার্ক ট্রাফিক দেখতে পারি। ডিফল্টভাবে এটি eth0 ইন্টারফেসে কাজ করে। অর্থাৎ মোবাইল ব্রডব্যান্ড বা ওয়াইফাইতে কানেক্টেড থাকলে আপনাকে -i আর্গুমেন্ট দিয়ে ইন্টারফেসের নাম লিখতে হবে। যেমন ওয়াইফাই হলে লিখবো: