সুডো ছাড়াই কোনও বন্দর ব্যবহার করে প্রক্রিয়া নির্ধারণ করুন


11

আমি কোন প্রক্রিয়াটি (বিশেষত, প্রক্রিয়া আইডি) প্রদত্ত বন্দর ব্যবহার করছে তা সন্ধান করতে চাই। একটি ধরাটি হ'ল, আমি সুডো ব্যবহার করতে চাই না, বা আমি রুট হিসাবে লগইন করছি না। আমি যে প্রক্রিয়াগুলির জন্য এটি কাজ করতে চাইছি সেগুলি একই ব্যবহারকারীর দ্বারা চালিত হয় যা আমি প্রক্রিয়া আইডিটি খুঁজতে চাই - তাই আমি ভাবতাম এটি সহজ।

উভয়ই lsofএবং netstatপ্রসেস আইডিটি আমাকে জানায় না যতক্ষণ না আমি এগুলি sudo ব্যবহার করে চালাচ্ছি - তারা আমাকে বলবে যে বন্দরটি যদিও ব্যবহৃত হচ্ছে।

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

এটি কোনও উবুন্টু বাক্সে, যাইহোক - তবে আমি অনুমান করছি যে কোনও সমাধান বেশিরভাগ লিনাক্সের ডিস্ট্রোস জুড়ে মানক হবে।

উত্তর:


7

--programNetstat কমান্ড শো আপনি PIDs এবং আপনার নিজের প্রক্রিয়ার নামের বিকল্প। এই বিকল্পটি উপস্থিত রয়েছে এবং নেট-টুলস 1.60 এর বাইরে নেটস্ট্যাট 1.42 এ আরএইচইএল 6 এ কাজ করছে।

আমি যাচাই করেছি যা netstat -an --tcp --programআমার প্রক্রিয়াগুলির পিআইডি দেখায়।


1
আমার মনে হয় আপনি বোঝানো -annetstat -pantএছাড়াও কাজ করে এবং এটি মনে রাখা সহজ।
এডুয়ার্ডো ইভানেক

হ্যাঁ, অতিমাত্রায় "-" ক্রিপ ইন। এবং আমি স্মৃতিচারণা পছন্দ করি।
পাওয়ে ব্রোদাকি

আমি আশঙ্কা করছি এটি উবুন্টুতে কাজ করে না - এটি কোনও ক্ষেত্রে মূল ছাড়াই প্রক্রিয়াটি প্রদর্শন করে না - এবং মনে হয় যে এসএসএইচ ফরোয়ার্ড সেগুলির মধ্যে একটি।
প্যাট

পাওয়েল: অবশেষে ওপি তার ব্যবহারের ক্ষেত্রে দৃ concrete়তর হয়েছে (আমার চেইনে মন্তব্য দেখুন), আমি আপনাকে আবার চেষ্টা করার অনুরোধ করছি। আমি একটি সেন্টোস 5 বাক্সে (নেট-টুলস 1.60 থেকে নেটস্ট্যাট 1.42 )ও করেছি, এবং এটি যেমন বলে তেমন ব্যর্থ হয়। আমি আপনার অভিজ্ঞতা আগ্রহী হতে হবে।
ম্যাডহ্যাটার

3

পাভেলের পরামর্শটি আমার কাছে ভাল কাজ করেছে বলে মনে হয় তবে বিকল্প হিসাবে এখানে শেল ১ থেকে শুনছি:

[madhatta@risby ~]$ nc -l  localhost 3456

এবং lsofশেল 2 থেকে এটি এখানে দেখছি :

[madhatta@risby tmp]$ lsof -i tcp:3456
COMMAND   PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nc      18109 madhatta    3u  IPv4 69205153      0t0  TCP localhost.localdomain:vat (LISTEN)

সম্পাদনা : আপনি একটি মন্তব্যে লিখুন যে

এসএসএইচ ফরোয়ার্ডগুলি অবশ্যই আলাদাভাবে আচরণ করবে - প্রক্রিয়াটি একই ব্যবহারকারীর মালিকানাধীন, আমি এটিকে আরএসএস আউটপুটে তালিকাভুক্ত দেখতে পাচ্ছি না যতক্ষণ না আমি এটিকে মূল / sudo হিসাবে চালাই না।

তবে এটি আমার পক্ষে তেমন নয়। স্থানীয় বন্দরে 8001 ফরোয়ার্ড করতে ssh ব্যবহার করে ssh vpn.example.com -L 8001:rt.int:80, এরপরে আমি এটি খুঁজে পাই:

[madhatta@risby ~]$ lsof -n -i tcp:8001
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssh     5375 madhatta    8u  IPv6 381234      0t0  TCP [::1]:vcom-tunnel (LISTEN)
ssh     5375 madhatta    9u  IPv4 381235      0t0  TCP 127.0.0.1:vcom-tunnel (LISTEN)

আপনি সম্ভবত আমাদের কিছু নমুনা আউটপুট প্রদর্শন করতে পারেন, খুব বেশি ভারীভাবে redacted না?


1
দেখে মনে হচ্ছে এসএসএইচ ফরওয়ার্ডগুলি অবশ্যই আলাদাভাবে আচরণ করবে - যদিও প্রক্রিয়াটি একই ব্যবহারকারীর মালিকানাধীন, আমি এটিকে lsofআউটপুটটিতে তালিকাভুক্ত দেখতে পাচ্ছি না যতক্ষণ না আমি এটিকে মূল / sudo হিসাবে চালাই না।
pat

ব্যবহারকারী হিসাবে চালানোর সময় আমি ফরওয়ার্ড করা পোর্টে মোটেও কোনও lsof আউটপুট পাই না। যদি আমি এটি sudo দিয়ে চালনা করি তবে আমি আপনার উত্তরে যা যুক্ত করেছি তার মতো আউটপুট আমি দেখতে পাচ্ছি। কেবল উল্লেখযোগ্য পার্থক্য হ'ল আমি ভি কম-টানেলের পরিবর্তে প্রকৃত পোর্ট নম্বরটি দেখতে পাচ্ছি।
pat

এছাড়াও, এটি কোনও দূরবর্তী ফরোয়ার্ড, স্থানীয় ফরোয়ার্ড নয় - সম্ভবত এটিই পার্থক্যের উত্স? অথবা আপনি কি কোনও রিমোট ফরোয়ার্ড দিয়ে পরীক্ষা করছেন?
pat

রিমোট ফরোয়ার্ড দ্বারা আপনি কী বোঝাতে চান "সার্ভার এআই এসএসএস থেকে সার্ভার বি তে, সার্ভার বি থেকে সার্ভার এ ফিরে এক্সএক্সএক্সএক্স ফরওয়ার্ড"? যদি তা হয় তবে আপনি সার্ভার এ-তে নেটস্পট / এলএসফের সাহায্যে কেন কিছু বাছাই করবেন? এ দ্বারা সার্ভার এ-তে কোনও নতুন শ্রোতা তৈরি হয় না, সুতরাং সার্ভার এ-তে কোনও পোর্ট কার্যবিবরণী জড়িত নেই (কালক্রমে সংরক্ষণ করুন)।
ম্যাডহ্যাটার

এস থেকে এইচ থেকে বি, এস এ এস থেকে বন্দর এক্স থেকে শুরু করে বন্দর বন্দরে সি তে (যা এ এর ​​ফায়ারওয়ালের অভ্যন্তরে - সুতরাং এগিয়ে দরকার) পোর্ট এক্স এর জন্য বিতে lsof / netstat ব্যবহার করে।
প্যাট করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.