লিনাক্সে নেটওয়ার্ক কমান্ড লাইন ব্যবহার না করে, মুক্ত পোর্টগুলির তালিকা এবং সেগুলির মালিকানাধীন প্রক্রিয়াটি কীভাবে জানবেন?


11

আমি জানতে চাই যে এমবেডড-লিনাক্সে কোন পোর্টগুলি কোন প্রক্রিয়া দ্বারা ব্যবহৃত হয়। যেহেতু এটি সাধারণ এমবেডড-লিনাক্স, তাই নেটসট্যাট, এলএসফের মতো কোনও নেটওয়ার্ক কমান্ড লাইন নেই। (কেবলমাত্র কমান্ড লাইন যেমন বিড়াল, সিপি, প্রতিধ্বনি ইত্যাদি বিদ্যমান)।

একটি আংশিক সমাধান "ক্যাট / প্রোক / নেট / টিসিপি" এবং "ক্যাট / প্রোক / নেট / ইউডিপি" কমান্ড লাইন ব্যবহার করা বলে মনে হচ্ছে। তবে, আমি নিশ্চিত নই যে এই কমান্ড লাইনগুলি থেকে মুদ্রিত তালিকাটি সমস্ত বন্দর ব্যবহারে প্রদর্শিত হবে এবং তালিকাটি কোনও পোর্টের সাথে কোন প্রক্রিয়াটি আবদ্ধ রয়েছে তা প্রদর্শন করে না

কোন মন্তব্য প্রশংসা করা হবে।


আমি মনে করি এই প্রশ্নটি ইউনিক্স এবং লিনাক্সের

উত্তর:


15

আপনার /proc/net/tcpএবং সমস্ত খোলা পোর্টগুলি সন্ধান করতে সক্ষম হওয়া উচিত /proc/net/udp। এই ফাইলগুলির প্রত্যেকটির একটি inodeকলাম রয়েছে, যা সেই সকেটের মালিকানাধীন প্রক্রিয়াটি সন্ধান করতে ব্যবহৃত হতে পারে।

একবার আপনার একটি ইনোড নম্বর পরে, আপনি ls কমান্ড চালাতে পারেন যেমন ls -l /proc/*/fd/* | grep socket:.$INODEসকেট ব্যবহার করে প্রক্রিয়াগুলি সন্ধান করতে। বিভিন্ন থ্রেডের জন্য বিভিন্ন ফাইল বর্ণনাকারীর সাথে একটি প্রক্রিয়া সেট আপ করা হয়েছে, ls -l /proc/*/task/*/fd/* | grep socket:.$INODEসেগুলি সন্ধান করার জন্য আপনার কমান্ডটি প্রসারিত করতে হতে পারে ।


1
find /proc -lname "socket:\[$INODE\]" 2> /dev/null
সাম্মিচ

0

যে কোনও পোর্টের জন্য আইওএনডেস সন্ধান করতে নীচের কমান্ডটি কার্যকর করুন

PORT=8080;cat /proc/net/* | awk -F " " '{print $2 ":" $10 }' | grep -i `printf "%x:" $PORT` | awk -F ":" '{print "PORT=" $2 ", INODE=" $3 }'

নীচের মতো সম্পর্কিত পিআইডি সন্ধান করতে উপরের কমান্ড আউটপুট থেকে যে কোনও আইএনওডি ব্যবহার করুন

find /proc -lname "socket:\[$INODE\]" 2> /dev/null | head -n 1 | awk -F "/" '{print "PID="$3}'

এখানে $ INODE হ'ল যে কোনও INODE এর মান

একটি একক লাইন কমান্ডে, আমরা চেক করতে পারি যে কোনও পোর্ট খোলা আছে এবং নীচের মতো কোনও পিআইডি-র সাথে সম্পর্কিত কিনা

PORT=8080;find /proc -lname "socket:\[$(cat /proc/net/* | awk -F " " '{print $2 ":" $10 }' | grep -i `printf "%x:" $PORT` | head -n 1 | awk -F ":" '{print $3}')\]" 2> /dev/null | head -n 1 | awk -F "/" '{print "PID="$3}'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.