প্যাকেটটির জন্য লিনাক্সের একটি একক কমান্ড স্নেফ করার জন্য একটি সহজ কমান্ড লাইনের সরঞ্জাম আছে?


11

আমি চাইব যদি লিনাক্সে প্যাকেটের জন্য একটি একক কমান্ড স্নিফ করার জন্য একটি কমান্ড লাইন সরঞ্জাম ছিল tool এরকম কিছু sniff dumpfile commandযাতে আপনি টার্মিনালে স্নিফ প্যাকেট করতে চান এমন কমান্ডটি চালাতে পারেন এবং অন্য কোথাও প্যাকেটগুলির একটি ডাম্প পেতে পারেন।

আমি প্রবেশ করি এমন একক কমান্ডের কেবল নেটওয়ার্ক ট্র্যাফিক ডাম্প / সেভ / দেখতে চাই, আমার একক নেটওয়ার্ক ইন্টারফেসের সমস্ত টিসিপি ট্র্যাফিক নয়। সুতরাং যদি আমি আমার কম্পিউটারে লগইন হয়ে থাকি এবং ব্যাকগ্রাউন্ডে আইআরসি চালু থাকত এবং আমি করতাম sniff somefile wget http://www.google.com, তবে আমি উইজেট কমান্ড http://www.google.com ডাউনলোড করার জন্য সমস্ত নেটওয়ার্ক ট্র্যাফিক দেখতে চাই । আমি আইআরসি নেটওয়ার্ক ট্র্যাফিককে বিভ্রান্ত করার মতো জিনিসগুলি 'সামফাইলে' রাখতে চাই না।

প্রচুর লিনাক্স / ইউনিক্স কমান্ড রয়েছে যা একটি পৃথক কমান্ড গ্রহণ করে এবং কিছু আলাদা করে। থেকে sudo(সুপার-ইউজার হিসাবে চালানো), niceপরিবর্তন চমৎকার স্তর, trickle(ক কমান্ডের ব্যান্ডউইথ সীমা)


1
এটা ঠিক কি, আপনি কি করতে চান? আপনি কি একটি নির্দিষ্ট কমান্ড চালিত কিনা তা পরীক্ষা করতে চান? আপনি কি নেটওয়ার্ক ট্র্যাফিক স্নিগ্ধ করতে চান? কারণ 'প্যাকেটটি একটি কমান্ড স্নিফিং' বাক্যাংশটি ব্যবহার করা আমার পক্ষে
মোটেও বুদ্ধিমান

wzzrd, প্রসারিত প্রশ্ন দেখুন
ররি

উত্তর:


10

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

# strace -f -e trace=network -s 10000 /usr/bin/command arguments

এটি আপনাকে কার্নেল এবং প্রক্রিয়াটির মধ্যে প্রেরিত ডেটা সম্পর্কে তথ্য দেবে। স্ট্রেসের আউটপুট হ'ল আপনি যা চান তা ঠিক নয়। তবে স্ট্রেস সিস্টেম কলগুলিতে বাধা দেওয়ার জন্য পিট্রেস সিস্কল ব্যবহার করে। আরও কিছুটা কার্যকরভাবে ডেটা আউটপুট দেওয়ার জন্য একটি প্রোগ্রাম লেখা সম্ভব।

বিকল্পভাবে, আপনি দুর্দান্ত দরকারী সকেটটি আটকে রাখতে পারেন, সাইক্লিকে বাঁধতে এবং শুনতে পারেন listen একটি ছোট প্রোগ্রাম লিখতে সম্ভব হতে পারে যা প্রতিটি নতুন সকেট খোলার সাথে সাথে ক্যাপচার ফিল্টারকে পরিবর্তনশীলভাবে পরিবর্তন করতে এই কলগুলিতে এবং লাইবপ্যাক্যাপ ব্যবহার করে ptrace ব্যবহার করে।


এটি দুর্দান্ত হবে যদি এটি এমন কিছু আউটপুট দেয় যা ওয়্যারশার্ক পড়তে পারে।
ব্র্যাড গিলবার্ট

মনে রাখবেন যে উপরে বর্ণিত স্ট্র্যাসটি সোলারিসের জন্য সঠিক (এবং সম্ভবত অন্যান্য বাণিজ্যিক ইউনিয়ন) is লিনাক্সে, স্ট্রেস হ'ল সিস্টেম কল ট্রেসার, একইভাবে অপারেশন এবং সোলারিসের উপর ট্রস করার জন্য আউটপুট বা এইচপি-ইউএক্স-এ টাস্কের অনুরূপ।
জেমস এফ

1
আমি লিনাক্সে স্ট্রেসের বর্ণনা দিয়েছি।
ডেভিড প্যাশলে

8

Tracedump

ট্রেসড্যাম্প হ'ল একক অ্যাপ্লিকেশন আইপি প্যাকেট স্নিফার, যা একক লিনাক্স প্রক্রিয়ার সমস্ত টিসিপি এবং ইউডিপি প্যাকেট ধারণ করে।

এখানে ডাউনলোড করুন এবং বিবরণ দিন: http://mutrics.iitis.pl/tracedump


1
এটি এখন সঠিক উত্তর হওয়া উচিত।
h0tw1r3

4

ওয়্যারশার্ক চেষ্টা করে দেখুন - কমান্ডটি হবে tshark

  • tshark আপনাকে একটি ইন্টারফেস থেকে নেওয়া ট্র্যাফিকের ফিল্টার নির্বাচন করতে দেয়
  • আপনার আগ্রহ প্রয়োগের মাধ্যমে যে ধরণের যোগাযোগ করা হয়েছে তা সনাক্ত করতে ডেবিয়ান এলএসফের মতো অন্যান্য উপযোগিতা ব্যবহার করুন ।

অথবা, আপনি কি সত্যিই কেবল এলএসএফ চান?


আমি মনে করি না এমন কোনও সরঞ্জাম রয়েছে যা প্রক্রিয়া সম্পর্কিত সমস্ত যোগাযোগের জন্য গতিশীলভাবে ফিল্টারিং রাখবে। তবে, আপনি যেমন সরঞ্জামগুলির সাথে প্রক্রিয়া যোগাযোগগুলি ট্র্যাক করার চেষ্টা করতে পারেন lsofএবং আপনার সিস্টেমে চলমান অন্য সমস্ত ট্র্যাফিক থেকে এই প্রক্রিয়াটির যোগাযোগকে আলাদা করতে পারার জন্য একটি ভাল ফিল্টার তৈরি হয়ে গেলে আপনি সঠিক ক্যাপচারটি পেতে পারেন।

উদাহরণস্বরূপ, wgetসাধারণত গন্তব্য আইপি ঠিকানা অন্যান্য প্রক্রিয়া সম্পর্কিত ট্র্যাফিকের থেকে পৃথক। এমনকি আপনি skypeগন্তব্য পোর্টের পরিসরের মতো কিছু নিলে সাধারণত একটি উদাহরণের জন্য স্থির করা হয়।


এটি কিছুটা অনিশ্চয়তার নীতির মতো। আপনি সাধারণত যোগাযোগ পথের একটি সেট (প্রবাহের চিহ্নিত গ্রুপে একটি স্নিফার ফিল্টারিং সহ) যাচ্ছেন বা যেখানে যোগাযোগের বিভিন্ন লিঙ্ক তৈরি করা হচ্ছে (lsof সহ) যাচ্ছেন তা সাধারণত আপনি জানতে পারবেন ।

আমি সত্যিই জানতে চাই যে কোনও অ্যাপ্লিকেশনের জন্য দুটোই করা যায় কিনা। আমি মনে করি এটি সম্ভবপর হওয়া উচিত। কিন্তু, কোনও সরঞ্জাম এখনও এটি করতে দেখেনি।


lsof দুর্দান্ত, তবে আমি এটি দেখতে / প্রেরণ / পুনরুদ্ধারটি কি করছে তা দেখতে চাই ।
ররি

4

ফিল্টার এক্সপ্রেশন ব্যবহার করতে শিখুন।

যদিও এটি আপনাকে জিজ্ঞাসা করছে অভিনব ট্রেস স্টাফগুলি করবে না।

এটি আপনাকে ক্যাপচার থেকে প্রায় "আইআরসির মতো বিভ্রান্তিকর স্টাফ" সরিয়ে ফেলতে অনুমতি দেবে।

ভবিষ্যতে দ্রুত রেফারেন্সের জন্য ফিল্টার সিনট্যাক্সটি জানার পক্ষে এটি খুব দরকারী।


2

বিশেষত ওয়েব ব্রাউজার / ওয়েব পৃষ্ঠার জন্য ফায়ারফক্সের জন্য ফায়ারব্যাগ প্লাগ-ইন এর মতো কিছু আপনাকে সন্ধান করছে এমন কিছু তথ্য দিতে পারে: http://getfirebug.com/net.html

আরও সাধারণ অ্যাপ্লিকেশনগুলির জন্য, অ্যাপ্লিকেশন দ্বারা ব্যবহৃত পোর্ট (গুলি) সনাক্ত করার জন্য আপনার নেটস্যাট ব্যবহার করতে হবে এবং তারপরে কেবল সেই ট্র্যাফিকটি ক্যাপচারের জন্য ফিল্টার সহ ওয়্যারশার্ক / tshark / dtrace ব্যবহার করতে হবে। আপনি যে এক লাইনের উত্তর খুঁজছিলেন তা নয় ...


1

একটি ধারণা, ভিএমওয়্যার চেষ্টা করুন

-setup একটি VM
-configure যে VM একটি নির্দিষ্ট ইন্টারফেস ব্যবহার করার জন্য
হোস্ট থেকে যে ইন্টারফেসে -sniff (তার মধ্যম হামলায় একটি মানুষের মত)

সেই ভিএম-তে কী নেটওয়ার্ক অ্যাপ্লিকেশন চলছে তা যদি আপনি আলাদা করেন তবে আপনার উত্তর হতে পারে

আমি মনে করি, আরও আদর্শ সমাধান হ'ল ভিএমওয়্যার কীভাবে কাজ করে তা কীভাবে এটি নির্দিষ্ট করে যে এটি কীভাবে কথা বলার জন্য একটি ইন্টারফেস চয়ন করে। আমি মনে করি এর যাদুটি কার্নেল মডিউলগুলি ব্যবহার করে এটি থেকে আসে, সম্ভবত এই ক্ষেত্রে, vmnet কার্নেল মডিউল।

আমার জ্ঞানের কাছে অ্যাপ্লিকেশনগুলি কোন ইন্টারফেসের সাথে কথা বলে সে সম্পর্কে সচেতন নয় এবং আমি বিশ্বাস করি এটি ডিজাইনের মাধ্যমে; তাদের এ জাতীয় জিনিস নিয়ে চিন্তা করার দরকার নেই।

তদুপরি,
সম্ভবত একটি প্রোগ্রাম ইতিমধ্যে বিদ্যমান, আমি জানি না। তবে একটি লেখা থাকলে আপনি এটিকে নেটট্রেস (উদাহরণস্বরূপ) বলতে পারেন এবং ব্যবহারের মতো হতে পারে

নেটট্রেস প্রোগ্রাম ইন্টারফেস

তারপরে এটি ব্যবহার করে এমন ইন্টারফেসটি স্নিগ্ধ করুন এবং আপনার আসল ইন্টারফেসে রুটগুলি (সম্ভবত এটি স্বয়ংক্রিয়ভাবে ঘটে) যুক্ত করুন


হ্যাঁ এটা সম্ভব হবে। তবে এটি করার যদি একটি সহজ এবং দ্রুত সরঞ্জাম থাকে তবে এটি দুর্দান্ত হবে ,.
ররি

সম্ভবত এই সহজ সরঞ্জাম জন্য সময়? আমি ভাবছি যে এটি যদি কঠিন হয় তবে সম্ভবত ভিএমনেট মোড একটি ভাল সূচনা পয়েন্ট হতে পারে (যদিও লাইসেন্স সংক্রান্ত সমস্যা থাকবে কিনা তা আমি জানি না)। সম্ভবত (একটি হ্যাক) সবেমাত্র vmnet মোড ব্যবহার করুন। আমি জানি আমি প্রায়শই এই জাতীয় প্রশ্নে আগ্রহী।
রেভ

1

এই মুহূর্তে ধরে নেওয়া যে আপনি সেই বাক্সের একমাত্র ব্যক্তি সেই সময়ে গুগলে কানেক্ট করার চেষ্টা করছেন, আমি ভাবব এরকম কিছু করার চেষ্টাটি করা উচিত:

tcpdump -w <outfile> -i <interface> tcp dst host www.google.com and dst port 80

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

আপনি যে কোনও ক্লায়েন্ট ব্যবহার করেন না কেন আপনি যদি তা নির্দিষ্ট না করেন তবে এসআরসি পোর্ট সনাক্তকরণে সমস্যা হতে পারে। আমি নিশ্চিত না আপনি উইজেট দিয়ে পারবেন কিনা।

আমি দৃ strongly়ভাবে সন্দেহ করি যে আপনি এসআরসি এবং ডিএসটি পোর্ট উভয়ই নির্দিষ্ট করে দিতে পারেন netcatতাই যদি এটি আপনার আগ্রহী গুগল হয় তবে আপনি নেটকাটের মাধ্যমে আপনার জিইটি (ম্যানুয়ালি) করতে পারতেন।

অবশ্যই ম্যান পেজ আপনাকে স্পেসিফিকেশন দেবে


1

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

আপনি যদি কোনও সার্ভার বা হেডলেস বাক্সে কাজ করছেন, আপনি সর্বদা tcpdump একটি ডাম্প ফাইল লিখতে পারেন এবং তারপরে ওয়ার্কস্টেশনে ওয়্যারশার্কে এটি খুলতে পারেন এবং উন্নত ফিল্টারিং এবং গ্রাফিকাল ইন্টারফেস পেতে পারেন।


যার, tcpdump কমান্ডে স্যুইচ করা ট্র্যাফিক উত্পন্ন করে এমন একক অ্যাপ্লিকেশনে সীমাবদ্ধ করবে?
মিলান বাবুস্কভ

1

সম্ভবত এই স্ক্রিপ্টটি আপনি যা চান তা tshark কমান্ডে যথাযথ পরিবর্তন করে যাবেন:

#!/bin/bash

# Start tshark in the background before we run the commsnd to be sniffed.
# Add more options to tshark, as appropriate to your command....
setsid tshark  -w dump -i eth0 tcp port 8080 >/dev/null 2>&1  &

sleep 2

wget www.google.com

# tshark keeps running if you don't kill it. 
# This kills all other tsharks that may be running.
pkill -9 tshark

পরে ডাম্প ফাইলটি পড়ুন:

tshark -r dump

আপনি 8080 বন্দরটি ক্যাপচার করছেন তবে 80 বন্দরে ট্র্যাফিক জেনারেট করছেন; আপনি যা চান তা এটি পুরোপুরি করবে না।
জেমস এফ

জেমস: আমার প্রক্সিটি 8080 এর সাথে সংযোগ স্থাপন করে, আমি স্ক্রিপ্টটি কীভাবে চালিত তা জানায়। এই পোস্টের প্রয়োজনে আমার এটি 80 পরিবর্তন করা উচিত ছিল।
এখন নেই

0

ডিট্রেসের এটির অনুমতি দেওয়া উচিত, যদিও এটি এখনও লিনাক্সে তৈরি হয়েছে কিনা তা আমি জানি না।

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