প্রতিটি নেটওয়ার্ক বন্দরে ট্র্যাফিকের পরিসংখ্যান


15

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

আমি যে ট্র্যাফিক গণনা করতে পারে তার অন্য কোনও উপায় আছে (আমি সেই দুটি মেশিনের মধ্যে কিছু প্রক্সি বা গেটওয়ে রাখতে পারি)।

উত্তর:


16

আইপটিবলগুলি প্রতিটি নিয়মকে কতটি ট্রিগার করা হয়েছিল সে সম্পর্কে পরিসংখ্যান দিতে পারে, যাতে আপনি আগ্রহের বন্দরগুলিতে এলওজি বিধিগুলি যুক্ত করতে পারেন (পোর্ট 20 এবং পোর্ট 80 বলে দিন):

iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80

এবং তারপর

iptables -n -L -v

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

আপনার যদি সঠিক মানগুলির প্রয়োজন হয় তবে একটি -x যুক্ত করুন:

iptables -n -L -v -x

4
কোনও LOGনিয়ম রাখার দরকার নেই (যা আপনার লগ ফাইলগুলিতে প্লাবিত হবে), কোনও নিয়ম ট্রিগার হওয়ার পরিমাণটি কেবল গণনা করুন।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

4
প্রকৃতপক্ষে. একটি বিধি একটি ক্রিয়া করা প্রয়োজন হয় না। শেখার জন্য একটি দরকারী পাঠ: বিধি ব্যতীত -Jঅ্যাকাউন্টিংয়ের জন্য ভাল good
অ্যালেক্সিয়াস


2

আপনি আপনার iptables কনফিগারেশনে অ্যাকাউন্টিংয়ের নিয়ম যুক্ত করতে পারেন। আপনি ESTABLISHED এবং রিলেটেড ট্র্যাফিক গ্রহণ করার আগে এগুলি হওয়া উচিত বা আপনি যে ট্র্যাফিকটি পেরিয়ে যায় তা মিস করবেন। ওয়েব ট্র্যাফিক গণনা করার জন্য একটি নিয়ম ব্যবহার করে দেখুন:

iptables -A INPUT -p tcp --dport 80 

আপনার যদি তাদের একটি গুচ্ছ থাকে তবে আপনি অ্যাকাউন্টিং চেইন তৈরি করতে চাইতে পারেন যাতে আপনি অন্যান্য চেইনগুলি থেকে বিচ্ছিন্ন হয়ে এটিতে জিরো কাউন্টারগুলি প্রতিবেদন করতে পারেন।

Shorewall ফায়ারওয়াল আপনি সহজেই আপনার নিয়ম সেটে অ্যাকাউন্টিং নিয়ম যোগ করতে পারবেন।


1

আউটপুট ট্র্যাফিক পরিসংখ্যান অন্তর্ভুক্ত ভুলবেন না।

# Port 80 (HTTP).
iptables -A INPUT -p tcp --dport 80
iptables -A OUTPUT -p tcp --sport 80

# Port 443 (HTTPS).
iptables -A INPUT -p tcp --dport 443
iptables -A OUTPUT -p tcp --sport 443


iptables -n -L -v
iptables -n -L -v -x


iptables -n -L -v -x | grep -i "Chain\|:443\|:80"

Chain INPUT (policy DROP 357 packets, 22828 bytes)
 1286265 75076978 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:80
 1305378 75018232 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:443

Chain OUTPUT (policy ACCEPT 303516 packets, 94716311 bytes)
     442   255112        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:80
      46    10515        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:443

0

Tcpdump ব্যবহার করুন,

tcpdump -i any -nnn

উপরের কমান্ডের আউটপুটগুলির মধ্যে টাইমস্ট্যাম্প, এসআরসি / ডেস্ট আইপি অ্যাড্রেস, পোর্ট এবং প্যাকেটের দৈর্ঘ্য অন্তর্ভুক্ত থাকবে। এই তথ্যগুলির সাহায্যে আপনি একটি ভাল লিখিত স্ক্রিপ্ট দ্বারা সহজেই আপনার লক্ষ্য অর্জন করতে পারেন।


0

আপনার গন্তব্য আইপি প্রতি ব্যবহারের প্রয়োজন কিনা তা পরিষ্কার নয়, তবে ইন্টারফেসে ট্র্যাফিকের ব্যবহার রেকর্ড করার জন্য vnstat একটি দরকারী সরঞ্জাম। এটি ইনস্টল করুন এবং তারপরে vnstat -u -i eth0আপনি যে প্রতিটি ইন্টারফেস পর্যবেক্ষণ করতে চান তা চালান । তারপরে প্রতিদিনের ব্যবহার পেতে vnstat -i eth0 -d


1
আমি মনে করি না যে vnstatআমি ব্যবহার করে বন্দর প্রতি স্ট্যাটাস পেতে পারি ... বা আমি ভুল করছি?
পিবিএম

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