প্রশ্ন কোনও লিনাক্স সার্ভারে পোর্ট খোলা আছে কিনা তা পরীক্ষা করুন?


লিনাক্স সার্ভারে কোন পোর্ট শুনছে কিনা তা আমি কিভাবে পরীক্ষা করব?


175
2017-09-07 17:24


উত্স


আপনি কি জিজ্ঞাসা করছেন তা বেশ স্পষ্ট নয়। আপনি "খোলা" মানে কি? আপনি কিছু পোর্ট যে পোর্ট শুনতে হয় মানে? অথবা আপনি এটি সিস্টেম ফায়ারওয়াল দ্বারা অনুমতি দেওয়া মানে? অথবা কি? - David Schwartz
আমার মনে হয় আমার পোর্টটি আমার সার্ভারে অবরুদ্ধ করা হচ্ছে এবং আবার আনলক / খুলতে চান। - James Anderson
netstat -an | grep PORTNUMBER | grep -i listen আউটপুট খালি হলে, পোর্ট ব্যবহার করা হয় না। - automatix


উত্তর:


কোনও টিসিপি বা UDP পোর্টের সাথে কোনও প্রক্রিয়া শোনার সময় আপনি এটি পরীক্ষা করতে পারেন netstat -tuplen

বাইরে থেকে কিছু পোর্ট অ্যাক্সেসযোগ্য কিনা তা যাচাই করতে (এটি সম্ভবত আপনি যা চান তা) আপনি যেমন একটি পোর্ট স্ক্যানার ব্যবহার করতে পারেন nmap থেকে অন্য পদ্ধতি. আপনি যে হোস্টটি পরীক্ষা করতে চান সেটিতে Nmap চালানো আপনার উদ্দেশ্যটির জন্য বেশ অর্থহীন।


159
2017-09-07 17:31



জিএনইউ netstat পরামিতি জানেন -t, -u, -p, -l, -e, এবং -n। বিকল্প পার্সার ধন্যবাদ হিসাবে এটি প্রকাশ করা যেতে পারে -tuplen। linux.die.net/man/8/netstat - joschi
এছাড়াও telnet কমান্ডটি সাধারণত টিসিপিকে সমর্থন করে, তাই আপনি যে পরিষেবাটি চেক করতে চান সেটি যদি অন্য প্রোটোকলের উপর চালানো হয় তবে আপনি ভাগ্য থেকে সরে যাচ্ছেন। - joschi
হ্যাঁ, আমি উইন্ডোজ ব্যবহার করে তাই বিভ্রান্তি ছিল। - Dexter
এনসি (ভাল) টেলনেট বিকল্প। এটি ইউডিপি সমর্থন করে। - Tsvetomir Dimitrov
Sudo সঙ্গে এটি ব্যবহার করুন: sudo netstat -tuplen। এটি আপনাকে কেবলমাত্র আপনার দ্বারা নয় বরং অন্যদের দ্বারা মালিকানাধীন প্রক্রিয়াগুলি সরবরাহ করবে এবং এটি অতিরিক্ত তথ্য (যেমন PID / প্রোগ্রাম নাম) মুদ্রণ করবে যদি এটি একটি অ-রুট ব্যবহারকারী হিসাবে ইতিমধ্যে প্রদর্শিত হয় না। - John Red


কোনও টিসিপি পোর্ট খোলা থাকলে (যে কোন হার্ডওয়্যার ফায়ারওয়াল সহ আপনার রয়েছে) পরীক্ষা করার দ্রুততম উপায়, একটি দূরবর্তী কম্পিউটার (যেমন আপনার ডেস্কটপ) থেকে টাইপ করতে হয়:

telnet myserver.com 80

যা যে সার্ভারে পোর্ট 80 একটি সংযোগ খুলতে চেষ্টা করবে। আপনি একটি সময় পেতে বা অস্বীকার করা হলে, পোর্ট খোলা হয় না :)


84
2017-09-07 17:33



এটি একটি কমান্ড হিসাবে "টেলনেট" চিনতে না বলে ... - James Anderson
টেলনেট ক্লায়েন্ট প্যাকেজ ইনস্টল করার জন্য "yum install telnet"। - cjc
বলছে: টেলনেট: ঠিকানা 82.165.148.224 এ সংযোগ করুন: সংযোগ অস্বীকার করেছে - James Anderson
উপরে লিখিত: if you get a time out or deny, the port is not open - Industrial
টেলনেট ইনস্টল করার অনুমতি থাকলে কি হবে? অন্য মান সরঞ্জাম আছে? - KC Baltz


ঠিক আছে, সংক্ষিপ্তভাবে, আপনি একটি সার্ভার আছে যা আপনি লগ ইন করতে পারেন। কিছু পোর্টে কিছু শুনছে কিনা তা দেখতে চান। রুট হিসাবে, চালান:

netstat -nlp

এটি টিসিপি এবং UDP পোর্টগুলিতে শোনাচ্ছে প্রসেসগুলির তালিকা প্রদর্শন করবে। আপনি আপনার আগ্রহের প্রক্রিয়া এবং / অথবা আপনি যে পোর্ট নাম্বারগুলি দেখতে প্রত্যাশা করছেন তার জন্য এটি স্ক্যান (বা grep) করতে পারেন।

যদি আপনি যে প্রক্রিয়াটি আশা করেন সেখানে নেই, তবে আপনাকে সেই প্রক্রিয়াটি শুরু করতে হবে এবং আবার নেটস্ট্যাট চেক করতে হবে। যদি প্রক্রিয়াটি থাকে তবে এটি এমন একটি ইন্টারফেস এবং পোর্টে শোনার কথা যা আপনি প্রত্যাশা করেননি তবে একটি কনফিগারেশন সমস্যা রয়েছে (উদাহরণস্বরূপ, এটি শোনা যাচ্ছে, কিন্তু কেবল লুপব্যাক ইন্টারফেসে, তাই আপনি 127.0.0.1:3306 দেখুন এবং পোর্ট 3306 এর জন্য অন্য কোন লাইন, MySQL এর ডিফল্ট কনফিগারেশন ক্ষেত্রে)।

প্রক্রিয়াটি যদি শেষ হয় এবং আপনি যে পোর্টটি আশা করেন সেটি শোনার জন্য, আপনি আপনার ম্যাকবুক থেকে আপনার পোর্টে আপনার টেলিফোনে "টেলনেট" চালানোর চেষ্টা করতে পারেন, যেমন,

 telnet xxxxxxxxxxxx.co.uk 443

এসএসএল এর জন্য কনফিগার করা একটি ওয়েব সার্ভার আছে কিনা তা যাচাই করবে (স্ট্যান্ডার্ড পোর্টগুলি ধরে নেওয়া হচ্ছে)। উল্লেখ্য, টেলনেট ব্যবহার করে এই পরীক্ষাটি শুধুমাত্র টিসিপি পোর্টে শোনাচ্ছে কিনা তা কাজ করতে যাচ্ছে। এটি একটি ইউডিপি পোর্ট থাকলে, আপনি যে কোনও ক্লায়েন্টের সাথে এটি সংযোগ করার জন্য ব্যবহার করতে যাচ্ছেন তার সাথে আপনিও চেষ্টা করতে পারেন। (আমি দেখেছি যে আপনি ২২4 পোর্ট ব্যবহার করেছেন। এটি মাস্কিডিয়ার, এবং আমার কোন ধারণা নেই)।

যদি পরিষেবাটি থাকে, কিন্তু আপনি বাইরে থেকে এটি পেতে না পারেন তবে একটি ফায়ারওয়াল আপনাকে অবরোধ করছে। যে ক্ষেত্রে, চালানো:

 iptables -L -n

এটি আপনার সিস্টেমে নির্ধারিত সমস্ত ফায়ারওয়াল নিয়মগুলি দেখাবে। আপনি এটি পোস্ট করতে পারেন, তবে সাধারণত, যদি আপনি INPUT চেইনটিতে সবকিছুই মঞ্জুরি দিচ্ছেন না তবে আপনাকে সম্ভবত পোর্টে ট্র্যাফিকের স্পষ্টভাবে অনুমতি দেওয়ার প্রয়োজন হবে:

 iptables -I INPUT -p tcp --dport 224 -j ACCEPT

অথবা ঐ লাইন বরাবর কিছু। কিছু বিদেশী আপনাকে ইন্টারনেটে কী বলেছে তার উপর ভিত্তি করে অন্ধকারভাবে আপনার ফায়ারওয়াল কমান্ডগুলি চালান না। আপনি কি করছেন তা বিবেচনা করুন।

যদি আপনার ফায়ারওয়ালটি আপনার পছন্দসই ট্র্যাফিকের অনুমতি দেয় তবে আপনার হোস্টিং কোম্পানি একটি ফায়ারওয়াল চালাচ্ছে (যেমন, তারা শুধুমাত্র এসএসএইচ (22 / টিসিপি), HTTP (80 / টিসিপি) এবং HTTPS (443 / টিসিপি) এবং সব অন্যান্য ইনকামিং ট্রাফিক অস্বীকার)। এই ক্ষেত্রে, এই সমস্যার সমাধান করার জন্য আপনাকে তাদের সাথে একটি হেল্পডেস্ক টিকিট খুলতে হবে, যদিও আমি মনে করি আপনার সিপ্যানেলে এমন কিছু হতে পারে যা এটির অনুমতি দেয়।


23
2017-09-07 20:01



Iptables -I কমান্ড পূর্বাবস্থায় ফিরিয়ে আনতে কিভাবে আপনি প্লাগ করতে পারেন? ধন্যবাদ !! - Evgeny
"iptables -D" আসল কমান্ডের মধ্যে "-I" এর পরে যা কিছু ছিল তা অনুসরণ করে। মূলত, ডকুমেন্টেশন তাকান। - cjc


আমি কম্বো ব্যবহার netstatএবং lsof:

netstat -an | grep <portnumber>
lsof -i:<portnumber>

পোর্ট ব্যবহার করা হয় কিনা দেখতে, এবং এটি ব্যবহার করা হয় কি না।


8
2018-03-28 19:32



কিছুই বা sudo ছাড়া অনুরোধ করে - Dheeraj Thedijje
@ধীরাজ তেজীজিজ - তখন সেই বন্দর খোলা নেই - warren
হ্যাঁ এটা ছিল না, পেয়েছিলাম। - Dheeraj Thedijje


যদি আপনি সিস্টেমের সাথে সংযুক্ত থাকেন এবং রুট হিসাবে কমান্ড চালাতে পারেন তবে আপনি iptables এর আউটপুট পরীক্ষা করতে পারেন

iptables -L -vn

এই ফায়ারওয়াল নিয়ম তালিকা এবং যা পোর্ট খোলা লক্ষ্য তালিকা হবে ACCEPT এবং কোন স্পষ্টভাবে বন্ধ পোর্ট লক্ষ্য REJECT


7
2017-09-07 17:57



এবং যদি আপনি firewalld আছে, এটা সহজ firewall-cmd --query-port=port/protocol, যেমন firewall-cmd --query-port=80/tcp। - Agostino


lsof -i :ssh ssh পোর্ট খোলা সমস্ত প্রসেস তালিকা, সক্রিয় এবং সক্রিয় সংযোগ উভয় তালিকাভুক্ত করা হবে।


5
2018-01-25 21:45



উপসর্গ sudo যদি এটি কোন আউটপুট ফিরে না। - Elijah Lynn