प्रति पोर्ट नेटवर्क ट्रैफ़िक आँकड़े


15

मेरे पास दो एप्लिकेशन वाली दो मशीनें हैं जो कुछ नेटवर्क पोर्ट्स (टीसीपी और यूडीपी) पर एक दूसरे से बात करती हैं। मैं यातायात भेजना चाहता हूं जो वे भेजते हैं और प्राप्त करते हैं। मुझे न केवल समग्र गणना बल्कि प्रति पोर्ट प्रति मशीन प्रति दिन आँकड़े चाहिए। मैंने डार्कस्टैट की कोशिश की , लेकिन यह प्रति दिन आँकड़े प्रदान नहीं करता है, लेकिन केवल समग्र काउंटर।

क्या कोई अन्य तरीका है जो मैं उस ट्रैफ़िक को गिन सकता हूं (मैं उस दो मशीनों के बीच कुछ प्रॉक्सी या गेटवे रख सकता हूं)।

जवाबों:


16

iptables आपको आँकड़े दे सकता है कि प्रत्येक नियम को कितने ट्रिगर किया गया था, इसलिए आप ब्याज के बंदरगाहों पर लॉग नियम जोड़ सकते हैं (बता दें कि पोर्ट 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लेखांकन के बिना नियम अच्छे हैं।
एलेक्सजॉन


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- मैं किसी भी -nn

उपरोक्त कमांड के आउटपुट में टाइमस्टैम्प, src / dest ip एड्रेस, पोर्ट और पैकेट की लंबाई शामिल होगी। उन सूचनाओं के साथ, आप एक अच्छी तरह से लिखी गई स्क्रिप्ट द्वारा अपने लक्ष्य को आसानी से प्राप्त कर सकते हैं।


0

यह स्पष्ट नहीं है कि आपको गंतव्य आईपी के उपयोग की आवश्यकता है या नहीं, लेकिन vststat प्रति इंटरफेस यातायात उपयोग को रिकॉर्ड करने के लिए एक उपयोगी उपकरण है। इसे इंस्टॉल करें और फिर vnstat -u -i eth0प्रत्येक इंटरफ़ेस के लिए चलाएं जिसे आप मॉनिटर करना चाहते हैं। तब तक प्रति दिन उपयोग प्राप्त करें vnstat -i eth0 -d


1
मुझे नहीं लगता कि vnstatमैं प्रति पोर्ट प्रतिमा प्राप्त कर सकता हूं ... या क्या मैं गलत हूं?
pbm

1
@ पीपीएम आह, आपका मतलब है टीसीपी / यूडीपी पोर्ट। नहीं, vnstat ऐसा नहीं करेगा।
जगंल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.