আমি সন্দেহ করি যে একটি প্রোগ্রাম বন্দরে শুনছে 8000
আমার মেশিনে.
যখন আমি নিম্নলিখিত কমান্ডটি চালাই, তখন আমি এই ত্রুটিটি পাই:
> python -m SimpleHTTPServer# Lots of python errorsocket.error: [Errno 98] Address already in use
যদি আমি অন্য পোর্ট ব্যবহার করি (8000
ডিফল্ট), ওয়েব সার্ভার জরিমানা চালায়.
যদি আমি দৌড়াই wget localhost:8000
কমান্ড লাইন থেকে, এটি ফিরে আসে 404 Not Found
.
পোর্টে কোন প্রোগ্রাম শুনছে তা খুঁজে পেতে আমি কী করতে পারি (বা কোন সরঞ্জামগুলি উপলব্ধ) 8000
, এবং সেখান থেকে সেই প্রোগ্রামটি কনফিগার করা আছে কোথায়?
আপনার টার্মিনালটি খুলুন এবং টাইপ করুন
lsof -i :8000
এই কমান্ডটি আপনাকে পিআইডি সহ সেই বন্দর দ্বারা ব্যবহৃত অ্যাপ্লিকেশনটি তালিকাভুক্ত করবে(কোন ফলাফল মাধ্যমে চালানো হলে sudo
আপনার নির্দিষ্ট প্রক্রিয়া কোন অনুমতি থাকতে পারে যেহেতু.)
উদাহরণস্বরূপ, পোর্ট 8000 সহ (python3 -m http.server
):
$ lsof -i :8000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEpython3 3269 user 3u IPv4 1783216 0t0 TCP *:8000 (LISTEN)
এবং পোর্ট 22 (এসএসএইচ):
$ sudo lsof -i :22COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 998 root 3u IPv4 1442116 0t0 TCP *:ssh (LISTEN)sshd 998 root 4u IPv6 1442118 0t0 TCP *:ssh (LISTEN)
যে সাহায্য করে আশা করি.
কোন প্রক্রিয়াটি কোন বন্দরে শুনছে তা দেখতে আপনি নেটস্ট্যাট ব্যবহার করতে পারেন.
আপনি একটি সম্পূর্ণ বিবরণ আছে এই কমান্ড ব্যবহার করতে পারেন :
sudo netstat -peanut
পোর্ট 8000 এ কোনটি শুনছেন তা যদি আপনার সঠিকভাবে জানতে হয় তবে আপনি এটি ব্যবহার করতে পারেন :
sudo netstat -peanut | grep ":8000 "
নেটস্ট্যাট থেকে আড়াল করতে পারে এমন কোনও প্রক্রিয়া নেই
@33833 দ্বারা উত্তরটি ব্যাখ্যা করতে আপনি কিছু খুব বিস্তারিত তথ্য পেতে পারেন, উদাহরণস্বরূপ:
$ lsof -i :8000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsquid3 1289 proxy 15u IPv6 14810490 0t0 TCP *:8000 (LISTEN)$ ps -fp 1289UID PID PPID C STIME TTY TIME CMDproxy 1289 1 0 09:48 ? 00:00:00 /usr/sbin/squid3 -N -f /etc/squid-deb-proxy/squid-deb-proxy.conf
আমি ঠিক সেখানে দেখতে পাচ্ছি যে স্কুইড প্রক্রিয়া, তবে এটি বাস্তবে আমার squid-deb-proxy
যে পোর্ট আপ গ্রহণ করা হয়.
জাভা অ্যাপের আর একটি ভাল উদাহরণ:
$ lsof -i :4242COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 3075 root 86u IPv4 12019 0t0 TCP *:4242 (LISTEN)$ ps -fp 3075UID PID PPID C STIME TTY TIME CMDroot 3075 1 15 May24 ? 3-16:07:25 /usr/local/crashplan/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=CrashPlanService -DappBaseName=CrashPl
আপনি দেখতে পারেন lsof
(খোলা ফাইল তালিকা) এটা সহায়ক কম যা জাভা, যে. চলমান ps
পিআইডি দিয়ে কমান্ড আমরা এখনই দেখতে পাচ্ছি যে এটি ক্র্যাশপ্ল্যান.
Gene_H
August 7, 2022, 12:56pm
#5
চেষ্টা করুন ss
থেকে iproute2
প্যাকেজ:
ss -nlp | grep 8000
Ollie
August 7, 2022, 1:05pm
#6
ব্যবহার করে অন্য উপায় socklist
থেকে procinfo
প্যাকেজ:
man socklist
বিবরণ socklist
একটি পার্ল স্ক্রিপ্ট যা আপনাকে সমস্ত খোলা সকেটের একটি তালিকা দেয়, গণনা করার ধরণ, বন্দর, ইনোড, ইউআইডি, পিআইডি, এফডি এবং এটি যে প্রোগ্রামটির সাথে সম্পর্কিত
sudo socklist
type port inode uid pid fd nametcp 53 28749 0 1721 5 dnsmasqtcp 631 29190 0 2433 11 cupsdtcp 42376 82230 1000 1345 84 firefoxtcp 49048 71686 1000 1345 67 firefoxtcp 41248 81672 1000 1345 119 firefoxtcp 54676 84558 1000 1345 73 firefoxudp 56107 66258 0 3268 20 dhclientudp 40804 17857 107 679 14 avahi-daemonudp 53 28748 0 1721 4 dnsmasqudp 68 67427 0 3268 6 dhclientudp 631 19692 0 765 8 cups-browsedudp 5353 17855 107 679 12 avahi-daemon
কমিউনিটি নিম্ন বিন্দু দরুন, আমি এখানে মন্তব্য করতে পারবেন না. ছাড়া sudo
সমস্ত কমান্ড উপরে আপনি প্রক্রিয়া আইডি / প্রোগ্রাম নাম প্রদান করবে না.
সুতরাং, আপনার নিম্নলিখিত জিনিসগুলি টাইপ করা দরকার:
sudo lsof -i :8000
অথবা
sudo netstat -lntup
আপনি এই কমান্ডের বিশদটি এর মাধ্যমে পরীক্ষা করতে পারেন man
, help
অথবা আমার প্রিয় সাহায্যকারী
আপনি এনম্যাপ ব্যবহার করতে পারেন.
আপনার পিসিতে কোন পোর্টগুলি খোলা আছে তা জানা সত্যিই গুরুত্বপূর্ণ, এটি কেবল লিনাক্সের জন্যই নয়, অন্যান্য অপারেটিং সিস্টেমের জন্যও কার্যকর, কোন পোর্টগুলি খোলা আছে তা পরীক্ষা করার জন্য লিনাক্সের প্রচুর সরঞ্জাম রয়েছে, সর্বাধিক সাধারণ এনম্যাপ যা একটি কমান্ড লাইন সরঞ্জাম, তবে এটির জন্য একটি গ্রাফিকাল ফ্রন্টএন্ডও রয়েছে যদি আপনি সেইভাবে পছন্দ করেন1
এটি ইনস্টল করতে, কেবল টিপুন Ctrl +Alt +T টার্মিনাল খোলার জন্য আপনার কীবোর্ডে এটি খুললে নীচের কমান্ডটি চালান:
sudo apt-get install nmap
এনএমএপি এবং অন্যান্য ইউটিলিটিগুলি সম্পর্কে আরও তথ্যের জন্য যান এখানে
1 উৎস:garron.me
এখানে কমান্ড মনে রাখা একটি সহজ
ss -townlup Netid State Recv-Q Send-Q Local Address:Port Peer Address:Porticmp6 UNCONN 0 0 *%eth0:58 *:*udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*udp UNCONN 0 0 172.31.26.71%eth0:68 0.0.0.0:*tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*tcp LISTEN 0 128 0.0.0.0:443 0.0.0.0:*tcp LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*tcp LISTEN 0 128 [::]:22 [::]:*tcp LISTEN 0 128 [::]:443 [::]:*tcp LISTEN 0 100 *:9090 *:* users:(("java",pid=13008,fd=16))tcp LISTEN 0 100 *:8080 *:* users:(("java",pid=11556,fd=12))