নির্দিষ্ট বন্দরে টিসিপি ট্র্যাফিক পর্যবেক্ষণ করুন


49

আমি এর জন্য বেশ বিস্তৃত অনুসন্ধান করেছি, তবে কার্যকারী উদাহরণ দিয়ে উপস্থিত হতে পারে বলে মনে হয় না।

আমার উদ্দেশ্যটি হ'ল আগত সংযোগগুলি দেখতে এবং কোনও পাঠ্য ফাইলে সেগুলি লিখতে একটি নির্দিষ্ট পোর্টে টিসিপি ট্র্যাফিক পর্যবেক্ষণ করা। ক্যাচটি হ'ল ক্লায়েন্টটি যখন দ্বিতীয়টির সাথে সংযুক্ত থাকে ঠিক তখনই আমার প্রতিটি সারিতে একটি টাইমস্ট্যাম্প প্রয়োজন।

আমি ইতিমধ্যে নেটস্ট্যাট, এনএম্যাপ এবং টিসিপিট্র্যাক ক্লান্ত করেছি, তবে কেউ টাইমস্ট্যাম্প সমর্থন করে না।

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

আমি এটি নিয়ে খেলছিলাম:

netstat -ano|grep 443|grep ESTABLISHED

ঠিক এটার মতন:

tcptrack -i eth0 port 443

তবে সংযোগটি আসার সময় যেমন দরকার তেমন আমার প্রয়োজন অনুসারেও নয়।

আপনার কোনও পরামর্শ থাকলে বা আমাকে সঠিক দিকে নির্দেশ করতে পারলে এটি প্রশংসিত হবে।

ধন্যবাদ। :)

linux  bash 

হাহা স্ট্যাকওভারফ্লো থেকে স্থানান্তরিত হয়েছে তবে ইউনিক্স / লিনাক্সে স্থানান্তরিত হতে হবে
কলব ক্যানিয়ন

উত্তর:


70

সম্পাদনা : আমি এখনও এই বছর পরে upvotes পাচ্ছি। দয়া করে এই উত্তরের জন্য যাবেন না, এখানে ব্যবহারiptables করে উত্তরটি আমার মতে অনেক উচ্চতর।


tcpdump port 443 and '(tcp-syn|tcp-ack)!=0'

বা কেবলমাত্র tcp-synবা কেবলমাত্র tcp-ack(আমার অনুমানটি সেটাই হবে) আপনার প্রয়োজনের উপর নির্ভর করে।


প্রতিটি সংযোগের জন্য হোস্টনামটি দেখানোর পরিবর্তে, আইপি দিয়ে ওভাররাইড করার কোনও উপায় আছে কি?

হাঁ, যোগ -ntcpdump পরে (মানুষ tcpdump: -n দো ঠিকানা (রুপান্তর করবেন অর্থাত, হোস্ট অ্যাড্রেস, পোর্ট নম্বর, ইত্যাদি) নামের। )
Wrikken

5
আমি যুক্তি দিয়েছি যে কার্নেল লগকে স্প্যামিং করা সত্যিই উন্নত নয়। ;)
ড্যানিয়েল বি

1
আহ, তবে আমি একটি সঠিকভাবে কনফিগার করেছিলাম যেখানে কোন লগগুলি অবশ্যই চলবে: পি কিন্তু ওহে, এই চুক্তিটি যদি
ব্রেক ব্রেক করে

1
@ এর জন্য কার্নেল লগ ব্যবহার করে সমস্যাটি হ'ল আপনি যখন সিসিটিএল + সি টিসিপিডাম্পের বাইরে রেখে যান তখন আপনার সমাধানটি আগের মতোই থেকে যায়। Iptables সমাধানটির অর্থ হ'ল আপনি যদি নিয়মটি ম্যানুয়ালি মুছে না ফেলে তবে পিছনে একটি "আশ্চর্য" রেখে। এই আশ্চর্যতা কোনও সময়ই পুরো রুট ডিস্কটিতে অনুবাদ করতে পারে। দুঃখিত, তবে আমি এটি উপস্থাপন করছি (:
জন ব্ল্যাকবেরি

31

আপনি এটির জন্য লিনাক্স কার্নেল-এ iptables সমর্থন ব্যবহার করতে পারেন। বিপরীত দিকটি হ'ল মাঝারিভাবে দরকারী হতে কোনও অতিরিক্ত সফ্টওয়্যার প্রয়োজন হয় না। ক্ষতিটি হ'ল এটি স্থাপনের জন্য মূল অধিকারগুলির প্রয়োজন (তবে আপনি 443 বন্দরটির কথা বলছেন যা একটি সুবিধাযুক্ত বন্দর, সম্ভবত বেশিরভাগ সমাধান সহ আপনার মূল সুবিধার দরকার আছে)।

এই জাতীয় কিছু সহ একটি iptables নিয়ম যুক্ত করুন:

sudo iptables -I INPUT -p tcp --dport 443 --syn -j LOG --log-prefix "HTTPS SYN: "

( -I INPUTআপনার স্বাদ অনুসারে অংশটি সামঞ্জস্য করুন ))

নিয়মটি ট্রিগার করা হলে, কার্নেল দ্বারা একটি সিসলগ এন্ট্রি নির্গত হবে। উদাহরণস্বরূপ, ইনপুট নিয়মের সাহায্যে লগ এন্ট্রি এমন কিছু দেখাচ্ছে:

ডিসেম্বর 5 09:10:56 হোস্টনাম কার্নেল: [1023963.185332] HTTPS SYN: IN = ifX OUT = MAC = 80: 80: 80: 80: 80: 80: 80: 80: 80: 80: 80: 08: 00 এসআরসি = এবিসিডি ডিএসটি = ডাব্লুএক্সওয়াইজ লেন = 52 টিওএস = 0x00 পিআরসি = 0x20 টিটিএল = 119 আইডি = 11901 ডিএফ প্রোটো = টিসিপি এসপিটি = 37287 ডিপিটি = 443 উইন্ডো = 8192 আরইএস = 0x00 এসআইএন ইউআরজিপি = 0

তারপরে আপনি এই তথ্যটি দিয়ে দরকারী কিছু করতে মিল-লগ নিরীক্ষণ সরঞ্জামটি ব্যবহার করতে পারেন। যদি আপনার সিসলগ বাস্তবায়ন এটি সমর্থন করে তবে আপনি এগুলি কোনও আলাদা সফটওয়্যার ছাড়াই দ্বিতীয়টিতে টাইমস্ট্যাম্প করা কোনও ফাইলের সাথে সংযোগের ডেটা লেখার জন্য কার্যকরভাবে আপনার প্রয়োজনীয়তা পূরণ করে একটি পৃথক লগ ফাইলে ডাইরেক্ট করতে পারেন।

লক্ষ্য করুন যে LOGলক্ষ্যটি একটি নন-টার্মিনেটিং লক্ষ্য, যার অর্থ এটি অনুসরণ করে যে কোনও নিয়ম এখনও মূল্যায়ন করা হবে এবং প্যাকেটটি নিজেই LOG বিধি দ্বারা প্রত্যাখ্যান বা স্বীকৃত হবে না। এটি LOGলক্ষ্যটিকে ফায়ারওয়াল নিয়মগুলি ডিবাগ করার জন্যও দরকারী করে তোলে ।

আপনার লগ বন্যা এড়ানোর জন্য, limitএই সাথে একযোগে মডিউল ব্যবহার বিবেচনা করুন । বিস্তারিত জানার জন্য iptables (8) ম্যান পৃষ্ঠা দেখুন।


এটি কি ট্রিগার চালু করে একটি অজগর স্ক্রিপ্ট কার্যকর করা সম্ভব?
কার্ল জিলনার

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

26

মাইক্রো-দ্বিতীয় রেজোলিউশন

ডিফল্টরূপে, tcpdump ইউটিলিটি মাইক্রো-সেকেন্ড রেজোলিউশন সহ সময়ের প্রতিবেদন করবে। উদাহরণ স্বরূপ:

$ sudo tcpdump -i any port 443

নিম্নলিখিতগুলির মতো আউটপুট প্রদর্শন করবে:

12: 08: 14.028945 আইপি লোকালহোস্ট.33255> লোকালহোস্ট। Http://ps: পতাকাগুলি [এস], সিক 1828376761, জিতে নিন 43690, বিকল্পগুলি [এমএসএস 65495, স্যাকোক, টিএস ভ্যাল 108010971 সিআর 0, নো, ওয়ার্কেল 7], দৈর্ঘ্য 0
12:08: 14.028959 আইপি লোকালহোস্ট। HTTP> লোকালহোস্ট.33255: পতাকাগুলি [আর।], সিক 0, এসি 1828376762, জয় 0, দৈর্ঘ্য 0

Tcpdump বিকল্পগুলির পুরো তালিকার জন্য tcpdump (8), এবং আপনি যে ফিল্টারগুলি ব্যবহার করতে পারেন তার সম্পূর্ণ সিনট্যাক্সের জন্য পিসিএপি-ফিল্টার (7) দেখুন।


5

443 এনক্রিপ্ট করা ট্র্যাফিক - এই বন্দরে কোনওভাবেই ট্র্যাফিকের মাথা বা লেজ তৈরি করা এতটাই কঠিন:

আপনি করতে পারেন

yum ngrep ইনস্টল করুন বা এনপ্রেস ইনস্টল করুন ngrep

তারপর চালান

ngrep -W byline -d any port 443 -q

2

অন্যান্য মেশিনের আগত এবং বহির্গামী প্যাকেটগুলি পর্যবেক্ষণ করার জন্য আপনার এটিরও প্রয়োজন হতে পারে।

tcpflow -i eth0 -c port 7891

( -iনেটওয়ার্ক উল্লেখের জন্য বিকল্প , -cকনসোলে প্যাকেটগুলি মুদ্রণের বিকল্প )


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


0

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

আরও তথ্যের জন্য এটি পরীক্ষা করে দেখুন: https://github.com/firehol/netdata/wiki/ You-should-install-QoS-on-all-your-servers


আমি বলতে চাই যে লগিং সংযোগের জন্য এটি কিছুটা ওভার কিল, যেখানে আইপেটেবলস - --লগ কাজ করবে।
djsmiley2k -

আপনি ঠিক বলেছেন, সংযোগগুলি লগ করার প্রয়োজন হলে এটি ওভারকিল। কোন ক্লায়েন্ট সংযুক্ত হয়েছে তা নিরীক্ষণের জন্য আমি এই সমাধানটি ব্যবহার করি না, তবে পরিষেবাটি কতটা ব্যান্ডউইথ ব্যবহার করে।
কোস্টা সাসাউসিস 26'17
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.