একটি প্রক্রিয়া নেটওয়ার্ক সংযোগ দেখান


26

একটি প্রক্রিয়া সংযোগ দেখানোর জন্য একটি উপায় আছে? এরকম কিছু:

show PID

যার মধ্যে showএটি করার একটি আদেশ, এবং PIDপ্রক্রিয়াটির সূত্রপাত। আমি যে আউটপুটটি চাই তা প্রক্রিয়াটির সমস্ত সংযোগ (রিয়েল-টাইমে) দ্বারা রচিত। উদাহরণস্বরূপ, যদি প্রক্রিয়াটি 173.194.112.151 এর সাথে সংযোগ স্থাপনের চেষ্টা করে তবে ফলাফল হয় 173.194.112.151

ফায়ারফক্সের সাথে আরও নির্দিষ্ট উদাহরণ:

show `pidof firefox`

এবং ফায়ারফক্সের সাথে আমি প্রথমে google.com এ , তারপরে unix.stackexchange.com এবং অবশেষে 192.30.252.129 এ যাই । আউটপুট, যখন আমি ব্রোয়ারটি বন্ধ করি, অবশ্যই হবে:

google.com
stackexchange.com
192.30.252.129

(স্পষ্টতই ব্রাউজারটির সাথে এই আউটপুটটি বাস্তবসম্মত নয়, কারণ অন্যান্য অনেকগুলি সংযোগ সম্পর্কিত, তবে এটি কেবল একটি উদাহরণ))


কোন ইউনিক্স বৈকল্পিকের অধীনে? বেশিরভাগের কাছে এটি করার জন্য সরঞ্জাম রয়েছে তবে বিভিন্ন।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' ২২ শে

সুতরাং মূলত আপনি সমস্ত সংযোগ একটি লগ চান?
সের্গেই কলডিয়াজনি 22

আমি মনে করি tcpdump বা Wireshark এর কাজটি তখন করা উচিত।
সের্গেই কোলোডিয়াজহনি 23

এটি করার কয়েকটি সম্ভাব্য উপায়: Askubuntu.com/questions/11709/…
মার্ক

@ গিলিস উবুন্টু 14.04.3 এলটিএস
সু

উত্তর:


24

আপনি খুঁজছেন strace! আমি এই উত্তরটি জিজ্ঞাসাবাদুতে পেয়েছি তবে এটি ইউনিক্সের জন্য বৈধ:

একটি নতুন প্রক্রিয়া শুরু এবং নিরীক্ষণের জন্য:

strace -f -e trace=network -s 10000 PROCESS ARGUMENTS

একটি পরিচিত পিআইডি সহ একটি বিদ্যমান প্রক্রিয়া পর্যবেক্ষণ করতে:

strace -p $PID -f -e trace=network -s 10000

অন্যথায়, তবে এটি লিনাক্সের সাথে নির্দিষ্ট, আপনি একটি বিচ্ছিন্ন নেটওয়ার্ক নেমস্পেসে প্রক্রিয়াটি চালাতে পারেন এবং ট্র্যাফিকটি নিরীক্ষণের জন্য ওয়্যারশার্ক ব্যবহার করতে পারেন । এটি সম্ভবত straceলগ পড়ার চেয়ে আরও সুবিধাজনক হবে :

  • একটি পরীক্ষা নেটওয়ার্ক নেমস্পেস তৈরি করুন:

    ip netns add test
    
  • ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসের একটি জুড়ি তৈরি করুন (ভਥ-এ এবং ভ্যাস-বি):

    ip link add veth-a type veth peer name veth-b
    
  • veth-an ইন্টারফেসের সক্রিয় নাম স্থান পরিবর্তন করুন:

    ip link set veth-a netns test
    
  • ভার্চুয়াল ইন্টারফেসের আইপি ঠিকানাগুলি কনফিগার করুন:

    ip netns exec test ifconfig veth-a up 192.168.163.1 netmask 255.255.255.0
    ifconfig veth-b up 192.168.163.254 netmask 255.255.255.0
    
  • পরীক্ষার নেমস্পেসে রাউটিংটি কনফিগার করুন:

    ip netns exec test route add default gw 192.168.163.254 dev veth-a
    
  • ip_forward সক্রিয় করুন এবং আপনার তৈরি করা নামস্থান থেকে ট্র্যাফিক আগমন করার জন্য একটি নেট বিধি প্রতিষ্ঠা করুন (আপনাকে নেটওয়ার্ক ইন্টারফেস এবং এসএনএটি আইপি ঠিকানা সামঞ্জস্য করতে হবে):

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.163.0/24 -o YOURNETWORKINTERFACE -j SNAT --to-source YOURIPADDRESS
    

    (আপনি যদি পছন্দ করেন তবে আপনি মাস্কেরডে নিয়মটিও ব্যবহার করতে পারেন)

  • অবশেষে, আপনি নতুন নেমস্পেসে বিশ্লেষণ করতে চান এমন প্রক্রিয়াটি চালাতে পারেন, এবং ওয়্যারশার্কও:

    ip netns exec test thebinarytotest
    ip netns exec test wireshark
    

    আপনাকে ভ্যাথ-ইন্টারফেসটি পর্যবেক্ষণ করতে হবে।


2
straceলিনাক্স কার্নেলের সাথে আসলে সুনির্দিষ্ট, তাই এটি ইউনিক্সের মতো অপারেটিং সিস্টেমের জন্য বৈধ নয়। আমি এটি বুঝতে পেরেছি, বিএসডি-মতো সিস্টেমগুলির অনুরূপ উপযোগিতা রয়েছে (ডিট্রেস এবং ট্রাস)। যাইহোক, ভাল উত্তর (তাই upvated)। স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম।
অ্যান্টনি জি - মনিকার পক্ষে ন্যায়বিচার

উত্তরটি সঠিক দিকে নির্দেশ করছে বলে মনে হচ্ছে, তবে পরীক্ষার সময় আউটপুট ব্যাখ্যা করতেstrace আমার সমস্যা হচ্ছে git fetch। আমি ওপি দ্বারা অনুরোধ করা হিসাবে আউটপুট অন্তর্ভুক্ত কিছু ধরণের URL দেখতে আশা করছিলাম to কেউ সাহায্য করতে পারেন?
অ্যান্ড্রি

14

চেষ্টা

lsof -i -a -p `pidof firefox`

এটি আংশিকভাবে কাজ করে: এটি প্রক্রিয়াটির বর্তমান কয়েকটি সংযোগ মুদ্রণ করে তবে এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। কিছু প্রোগ্রামের জন্য আউটপুট শুধুমাত্র এই সতর্কবাণী:lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /home/user/.gvfs Output information may be incomplete.
ᴜsᴇʀ

আপনি -r1প্রতি সেকেন্ডে আউটপুট পুনরাবৃত্তি -wকরতে এবং সতর্কতা দমন করতে বিকল্পগুলি যুক্ত করতে পারেন ।
alxrem 14

2
এটি কেবল সময়ে একটি সময়ে সংযোগগুলি দেখায়, এটি কোনও প্রক্রিয়া তার জীবদ্দশায় তৈরি সমস্ত সংযোগের তালিকা করে না। এমনকি যদি আপনি এই আদেশটি কোনও লুপে রেখে দেন তবে এটি স্বল্প-কালীন সংযোগগুলি মিস করবে।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' ২২ শে

প্রশ্নকর্তা তার আজীবন সংযোগগুলি দেখতে বলেন নি। এক (in real-time)হিসাবে ব্যাখ্যা করতে পারে from the point in time of tracking and forward
llua

8

এখানে অন্য পদ্ধতির:

ss -nap | grep $(pidof firefox)

নমুনা আউটপুট:

tcp    ESTAB      0      0          192.168.0.222:49050    216.58.218.164:443    users:(("firefox",3280,69))
tcp    ESTAB      0      0          192.168.0.222:48630    198.252.206.25:443    users:(("firefox",3280,106))
tcp    ESTAB      0      0          192.168.0.222:44220     216.58.217.38:443    users:(("firefox",3280,140))
tcp    ESTAB      0      0          192.168.0.222:52690    54.240.170.181:80     users:(("firefox",3280,107))
tcp    ESTAB      0      0          192.168.0.222:48744    198.252.206.25:443    users:(("firefox",3280,87))
tcp    ESTAB      0      0          192.168.0.222:48811    198.252.206.25:443    users:(("firefox",3280,73))

1
এটি কেবল সময়ে একটি সময়ে সংযোগগুলি দেখায়, এটি কোনও প্রক্রিয়া তার জীবদ্দশায় তৈরি সমস্ত সংযোগের তালিকা করে না। এমনকি যদি আপনি এই আদেশটি কোনও লুপে রেখে দেন তবে এটি স্বল্প-কালীন সংযোগগুলি মিস করবে।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' ২২ শে

5

আপনি চেষ্টা করে দেখতে পারেন netstat -p। ম্যান পৃষ্ঠা থেকে:

নেটস্ট্যাট - প্রিন্ট নেটওয়ার্ক সংযোগ, রাউটিং টেবিল, ইন্টারফেসের পরিসংখ্যান, মাস্ক্রেড সংযোগ এবং মাল্টিকাস্ট সদস্যতা

শুধুমাত্র নেটওয়ার্কিং সংযোগ ব্যবহার দেখানোর জন্য netstat -tup। লক্ষ করুন যে প্রক্রিয়া পিআইডি দেখতে আপনাকে রুট হতে হতে পারে।

আপনি না থাকে তাহলে netstatআপনার সিস্টেমে আপনি হয়ত ssযা প্রায় সঠিক বাক্য গঠন রয়েছে। আপনি তখন ss -tup(রুট হিসাবে) ব্যবহার করতে পারেন ।


1
এটি কেবল সময়ে একটি সময়ে সংযোগগুলি দেখায়, এটি কোনও প্রক্রিয়া তার জীবদ্দশায় তৈরি সমস্ত সংযোগের তালিকা করে না। এমনকি যদি আপনি এই আদেশটি কোনও লুপে রেখে দেন তবে এটি স্বল্প-কালীন সংযোগগুলি মিস করবে।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' ২২ শে

1
netstat -p | গ্রেপ ফায়ারফক্স | grep tcp
ফিলিপ কির্কব্রাইড

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