লিনাক্সে টিসিপি ট্র্যাফিক ডেটা স্নিগ্ধ করার সবচেয়ে সহজ উপায় কী?


79

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

উদাহরণস্বরূপ, আমি একটি যাদুকরী আদেশ চাই যে আমি যদি তা করি:

magic_commmand_I_want port=1234

তারপরে যদি আমার মেশিনে 1234 পোর্টে কোনও সার্ভার শুনছিল, এবং কেউ করেছে:

echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port

তারপরে ম্যাজিকাল কমান্ডটি কেবল মুদ্রণ করবে:

hello

আমি "tcpdump", "ইথেরিয়াল", "টিথেরিয়াল", "tshark", এবং অন্যদের চেষ্টা করেছি, কিন্তু আপনি কীভাবে তাদের কাছে পাবেন তা স্পষ্ট নয়:

  • আইপি ঠিকানা বা অন্যান্য মেটাডেটা না দেখায়
  • কেবলমাত্র "ডেটা" পাঠানো হচ্ছে তা দেখান, স্বতন্ত্র প্যাকেট এবং তাদের শিরোনাম নয়
  • হেক্সায় নয়, এবং প্যাকেট-অফসেট চিহ্নিতকারীদের সাথে নয় যেমন তথ্য প্রিন্ট করুন
  • সমস্ত নেটওয়ার্ক ট্র্যাফিক স্নিগ্ধ করুন (তা এথ 0 বা এথ 1 বা লো , ইত্যাদি ...)

হ্যাঁ, আপনি সম্ভবত এটি করার জন্য ইউনিক্স কমান্ডের পাইপযুক্ত সেটগুলি একসাথে স্ট্রিং করতে পারেন তবে পরবর্তী সময়ের জন্য এটি মনে রাখা খুব সহজ নয় :)

এটির জন্য যদি কোন সঠিক কমান্ড-লাইনের একটি সাধারণ উদাহরণ থাকে তবে আমি এটি চাই।


2
tcpdump হ'ল ম্যাজিক কমান্ড want
ওয়্যারশার্ক

3
আমি জানি এটি একটি পুরানো প্রশ্ন তবে আমি জানতে আগ্রহী যে "সার্ভার সাইড" এর জন্য এনসি ব্যবহার করাও কেন বিকল্প ছিল না? "এনসি-এল 1234" একটি সার্ভার তৈরি করে যা 1234 পোর্ট শোনায় এবং এতে যা কিছু প্রেরিত হয় তা প্রিন্ট করে এবং সংযোগটি বন্ধ করে দেয়। আপনি যদি সংযোগটি জীবিত রাখতে চান এবং সংযোগ বিচ্ছিন্ন না করতে চান তবে আপনি "-k" বিকল্পটি যুক্ত করতে পারেন।
স্টাফস

2
@ এসটিএফএস কারণ তিনি একটি চলমান বন্দর শোধ করতে চান এবং এনসি অভিযোগ করবেন would
infoclogged

উত্তর:


106

হালনাগাদ:

মন্তব্যগুলিতে মাইকেল দ্বারা নির্দেশিত হিসাবে: টিসিপিফ্লো সংস্করণ ১.৩ থেকে স্ক্যানারের নাম উল্লেখ করার জন্য -e বিকল্পটি ব্যবহৃত হয়। সুতরাং ত্রুটিটি "অবৈধ স্ক্যানার নাম '8983'" মুদ্রিত হয়েছে। সঠিক আদেশটি হল

sudo tcpflow -i any -C -J port 1234

( সর্বশেষ প্রকাশেও -Jপরিবর্তন করা হয়েছে -g)


আমাকে " টিসিপিফ্লো " তে দেখানোর জন্য ইয়ভেসকে ধন্যবাদ । কমন্ড লাইনটি এখানে:

tcpflow -i any -C -e port 1234  # as root, or with sudo

এটি আমার যা করা দরকার তা করে

  • বাইট-বাইট ডেটা আসার সাথে সাথে প্রদর্শন করে
  • অন্য কোনও মেটাডেটা প্রদর্শন করে না
  • সমস্ত ইন্টারফেসে শুনে (তাই এটি মেশিনের মধ্যে এবং বাইরে থেকে আগত ডেটা ক্যাপচার করে)

" -C" এটি ফাইলের পরিবর্তে কনসোলে ডাম্প করতে বলে। " -e" রঙগুলি সক্ষম করে যাতে ক্লায়েন্ট-> সার্ভার এবং সার্ভার-> ক্লায়েন্ট দৃশ্যত স্বতন্ত্র।

আমি সহজভাবে করে টিসিপিফ্লো ইনস্টল করেছি

sudo apt-get install tcpflow

2
কি দারুন. tcpflow দুর্দান্ত, ধন্যবাদ! ওয়্যারশার্কের সাথে আমার প্রচুর বেদনা বাঁচিয়েছে। ওয়্যারশার্ক, টিসিপিডাম্প ইত্যাদির অনেক বেশি তথ্য রয়েছে এবং মূল প্রশ্নটি আসলে যা করে তা করে না। tcpflow এই জন্য নিখুঁত।
রাশ

10
টিসিপিফ্লো সংস্করণ ১.৩ থেকে -eস্ক্যানারের নাম উল্লেখ করার জন্য বিকল্পটি ব্যবহৃত হয়। সুতরাং ত্রুটিটি "অবৈধ স্ক্যানার নাম '8983'" মুদ্রিত হয়েছে। সঠিক কমান্ডটি হ'লsudo tcpflow -i any -C -J port 1234
মিশেল কোভ

6
সর্বশেষ প্রকাশে (গুলি) এ -Jপরিবর্তন করে দেওয়া হয়েছে তা নোট করুন -g
টিভিন

2
"পশ্চাদপদ সামঞ্জস্যতা" শব্দটির অর্থ কারও কারও কাছে এই সরঞ্জামটির লেখককে ব্যাখ্যা করা দরকার!
শ্রীধর সারনোবাত

এটি আমার জন্য দু'বার "জিনিস" মুদ্রণ করে। তা কেন? lpaste.net/3984129577801744384
ব্যবহারকারী 1198559

29

সকেট হল সেই সরঞ্জাম যা আপনি জিজ্ঞাসা করছেন। এটি প্রক্সি হিসাবে কাজ করতে পারে:

$socat -v TCP-LISTEN:4444 TCP:localhost:1234
hello

তারপরে আপনার অ্যাপ্লিকেশনটিকে অবশ্যই 1234 এ সরাসরি সংযোগের পরিবর্তে 4444 পোর্টটি সংযোগ করতে হবে

-v বিকল্পটি সকেটকে স্ট্যান্ডার্ড ত্রুটিতে (স্ট্ডার) যা কিছু পাওয়া যায় তা মুদ্রণের জন্য।

হালনাগাদ:

যদি স্যুটটি আপনার মেশিনে উপলভ্য না থাকে, আপনি এখনও নেটকাটের সাহায্যে এটিকে অনুকরণ করতে পারেন:

$netcat -l -p 4444 | tee output_file | netcat localhost 1234

সতর্কতা: এই বিকল্পটি একমুখী। দ্বিতীয় নেটক্যাট উদাহরণটি আপনার সার্ভার থেকে কোনও স্ট্যান্ডার্ড আউটপুটে মুদ্রণ করবে। আপনি তখনও করতে পারেন:

$mkfifo my_fifo
$netcat -l -p 4444 < my_fifo | tee output_file | netcat localhost 1234 > my_fifo

মনে করুন ক্লায়েন্ট এবং সার্ভারের উপরে আমার নিয়ন্ত্রণ নেই, (বা আমি এটি থামাতে চাই না), তাই আমি কোন পোর্ট জড়িত তা পরিবর্তন করতে পারি না বা ট্র্যাফিককে বাধা দিতে পারি না। তারপর কি?

20

ওয়্যারশার্ক চেষ্টা করুন । এটি লিনাক্স এবং উইন্ডোজ উভয়ের জন্য লক্ষ্যযুক্ত একটি দুর্দান্ত প্রোটোকল বিশ্লেষক।


3
আমার অভিজ্ঞতা হ'ল ইন্টারফেসটি সত্যিই লিনাক্সের উপর চুষছে।
জো ফিলিপস

অভিশাপ, আপনি আমার আগে সেখানে

আপনি কমান্ড-লাইন একটি উদাহরণ দিতে পারেন?

Wiki.wireshark.org/Tools এই লিঙ্কটি দেখুন, এটি ওয়্যারশার্কের জন্য কমান্ড লাইন সরঞ্জামগুলির একটি তালিকা দেয়। ডাম্পক্যাপের সন্ধান করুন।
কেভিন বয়ড

13

tcpflow আপনি চান কি। ম্যান পৃষ্ঠা থেকে বের করুন:

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

টিসিপিফ্লো ফর্মের নামযুক্ত ফাইলগুলিতে সমস্ত ক্যাপচারিত ডেটা সঞ্চয় করে

192.168.101.102.02345-010.011.012.013.45103

যেখানে উপরের ফাইলটির বিষয়বস্তু হোস্ট 192.168.101.102 পোর্ট 2345 থেকে 10.11.12.13 পোর্ট 45103 হোস্টে হোস্ট 192.168.101.102 পোর্ট থেকে প্রেরণ করা হবে।

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

$ sudo tcpflow -i lo port 5555
tcpflow[3006]: listening on lo

প্রতিটি তথ্য 127.000.000.001.48842-127.000.000.001.05555 নামের একটি ফাইলে সংরক্ষণ করা হবে।

আপনি এখনও অপশন-সিএস সহ স্ট্যান্ডার্ড আউটপুটে এটি পুনর্নির্দেশ করতে পারেন। আপনি টিসিপিফ্লো ক্যাপচার করতে চান এমন প্যাকেটগুলি টিউন করতে এক্সপ্রেশন দিয়ে খেলতে ম্যানুয়াল পৃষ্ঠাটি পড়ুন।


2

ngrepএই জন্য খুব সুন্দর। প্যাকেটের মধ্যে অনুসন্ধানের জন্য এটি একটি বিপিএফ স্ট্রিং এবং একটি alচ্ছিক স্ট্রিং লাগে এবং তারপরে প্যাকেট সামগ্রীগুলি পর্দাতে বেশ দরকারী দরকারী বিন্যাসে ফেলে দেয়। এটি বিকল্পভাবে একটি পিসিপি_ডাম্প ফাইলে ডাম্প করে যা আপনি পরে ওয়্যারশার্কে আরও ঘনিষ্ঠভাবে পরীক্ষা করতে পারেন।



-1

হতে পারে আপনি tcpdump এর জন্য একটি মোড়ক লিখতে পারেন, উদাহরণস্বরূপ, যা সমস্ত অপ্রয়োজনীয় তথ্য সরিয়ে দেবে

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