কোন অ্যাপ্লিকেশন দ্বারা কী বন্দর ব্যবহার করা হয় [সদৃশ]


11

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

কোন অ্যাপ্লিকেশনটি বন্দরগুলি তৈরি করে এবং কোন অ্যাপ্লিকেশনগুলি এবং পোর্টগুলি এর সাথে সংযোগ স্থাপন করেছে সে সম্পর্কে আমি একটি সংক্ষিপ্ত বিবরণ পেতে চাই।

কিভাবে আমি এটি করতে পারব?

উত্তর:


17

আপনি netstatএই জন্য ব্যবহার করতে পারেন । উদাহরণটি দেখুন (আমি গ্রেপ্তার হয়েছি ssh):

netstat -putan | grep ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1725/sshd
tcp        0      0 1.2.3.4:45734           1.2.3.5:22              ESTABLISHED 2491/ssh
tcp6       0      0 :::22                   :::*                    LISTEN      1725/sshd

ব্যাখ্যা:

আমি প্রায়শই প্যারামিটার ব্যবহার করি -putan(কারণ এগুলি মনে রাখা সহজ)।

  • -p: অ্যাপ্লিকেশন / প্রক্রিয়াটির পিআইডি প্রদর্শন করুন
  • -u: ইউডিপি পোর্ট / সংযোগগুলি দেখান
  • -t: টিসিপি পোর্ট / সংযোগগুলি দেখান
  • -a: শ্রবণকারী এবং অ-শ্রবণকারী উভয় সকেট দেখান
  • -n: সংখ্যাগত আউটপুট (হোস্ট-নেম ইত্যাদির জন্য ডিএনএস লুকআপ করবেন না)

উপরের আউটপুটটিতে, আপনি দেখতে পাচ্ছেন যে সমস্ত নেটওয়ার্ক ইন্টারফেসে ( ) পোর্টে sshdপিআইডি 1725শোনার সাথে একটি এসএসএস ডেমন প্রক্রিয়া রয়েছে 22( 0.0.0.0)। এছাড়াও পোর্ট নম্বরে 2491আইপি-ঠিকানার সাথে সংযুক্ত একটি এসএসএস ক্লায়েন্ট প্রক্রিয়া (পিআইডি ) রয়েছে , আমার আইপি-ঠিকানাটি এবং আমার বাহ্যিক বন্দরটি । আপনি দেখতে পাচ্ছেন যে সংযোগটি প্রতিষ্ঠিত হয়েছে। সুতরাং আমি মাধ্যমে লগ ইন করছি ।1.2.3.5221.2.3.445734ssh


22 পোর্টে একটি প্রতিষ্ঠিত টিসিপি সংযোগ সফল প্রমাণীকরণের ইঙ্গিত দেয় না। উভয় দিকে প্রমাণীকরণের আগে টিসিপি অবশ্যই স্থাপন করা উচিত।
জেমসবেট

@ পুডিংফক্স হ্যাঁ সত্য, আমরা আরও ভাল করে বলতে পারি "আমি সেই বন্দরের সাথে সংযুক্ত", তবে বোঝার জন্য আমি বলেছিলাম "আমি লগ ইন করছি", কারণ এটি আরও উদাহরণস্বরূপ।
বিশৃঙ্খলা

1
হি ... put -পুটান ' আমি এই ছোটখাট বানান ত্রুটিটি সংশোধন করতে খুব প্রবৃত্ত হই;)
জেমস মার্টজ

আধুনিক যখন উপলব্ধ থাকে তখন কেন অপ্রচলিত ইউটিলিটিগুলি ব্যবহার করবেন? ss -lntp হল ইউপ্রুটি 2 স্যুট দ্বারা সরবরাহিত ইউটিলিটি ।
মারিয়াসমাতুটিয়

7

এটি করতে পারে এমন আরেকটি সরঞ্জাম হ'ল lsof:

# lsof -i -a -p 1981
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1981 root    3u  IPv4    917      0t0  TCP host.example.com:ssh (LISTEN)
# lsof -i -a -p 1981 -n
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1981 root    3u  IPv4    917      0t0  TCP 10.1.2.3:ssh (LISTEN)
# lsof -i -a -p 1981 -n -P
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1981 root    3u  IPv4    917      0t0  TCP 10.1.2.3:22 (LISTEN)
#

ব্যবহৃত বিকল্পগুলি নিম্নরূপ:

  • -i একটি প্রক্রিয়া দ্বারা খোলা ইন্টারনেট বন্দর মুদ্রণ করতে
  • -a সমস্ত বিকল্পগুলি এন্ড-এডি হওয়ার কারণ হিসাবে
  • -p 1981 প্রক্রিয়া 1981 আউটপুট দেখানোর জন্য
  • -n হোস্টনাম দেখাতে বাধা দিতে এবং এর পরিবর্তে আইপি দেখান
  • -P পরিবর্তে পরিষেবা লুকানো এবং পোর্ট নম্বর প্রদর্শন করতে

lsofবৃহত্তর আউটপুট থেকে গ্রেপ না করে পরীক্ষা করার জন্য আপনি প্রক্রিয়াটি নির্দিষ্ট করতে পারবেন এমন সুবিধা রয়েছে। netstatসিস্টেমে আরও নির্ভরযোগ্যভাবে উপলব্ধ, যদিও lsofএটি আগের তুলনায় আরও বেশি স্ট্যান্ডার্ড হয়ে উঠছে।


আমি যে কমান্ডটি নিরীক্ষণ করতে চাই তার প্রবর্তন করার আগে এই কমান্ডটি চালাতে চাই তবে কোনও অ্যাপ্লিকেশন শুরু করার আগে কী পিড পাবে তা আমি স্থাপন করতে পারি?
বাজ

@ বাজ, আপনি যদি কোনও অ্যাপ্লিকেশনটি শুরু হওয়ার সাথে সাথে পর্যবেক্ষণ করতে চান (যেমন, এটি পিআইডি জানার আগে) আপনার strace@ ওলিওকোডার প্রস্তাবিত সমাধানটি চেষ্টা করে দেখতে পারেন ।
gowenfawr


3

আমাদের কাছে ইতিমধ্যে ভাল উত্তর রয়েছে তবে কমান্ডটি চালিত হওয়ার মুহুর্তে তারা কেবল পোর্টগুলি খোলে list

strace অ্যাপ্লিকেশন জীবদ্দশায় খোলা সংযোগগুলি নিরীক্ষণের জন্য সঠিক সরঞ্জাম:

strace -e socket,connect,close -f -o hipchat.strace.txt hipchat

আউটপুট আপনাকে অতিরিক্ত তথ্য ইউডিপি অনুরোধ এবং খোলা কিন্তু বন্ধ সংযোগগুলির মতো দেখায়।


0

ss -a4 | less

আমি ধরে নিচ্ছি আপনি আইপিভি 4 এর কথা বলছেন ... যদি তা না হয় তবে আপনি প্রিডিসিং কমান্ডের 4 টি 6 এর সাথে 6 দিয়ে প্রতিস্থাপন করতে পারবেন। আপনি যদি ডিসপ্লেতে নামগুলি সমাধান করতে না চান তবে আপনি প্যারামিটারগুলিতে যোগ করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.