Netstat निरंतर ताज़ा (उत्पादन में परिवर्तन देखें)


18

मैं अपने डेबियन सर्वर पर कनेक्शन (कुछ हाल के DoS हमलों से निपटने के लिए) की निगरानी के लिए इस सरल कमांड का उपयोग कर रहा हूं:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

मैं इसे लगातार कैसे चलाऊं? तो यह प्रति मिनट एक बार स्वयं को ताज़ा करेगा (या किसी भी समय, निश्चित रूप से किसी भी समय)। मैंने देखने की कोशिश की:

watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"

लेकिन इसने अच्छी सूची से आउटपुट को कुछ इस तरह से कनेक्शन की संख्या के साथ बदल दिया:

1 tcp        0  10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address           Foreign Address         State
1 Active Internet connections (w/o servers)

इसलिए बाहरी आईपी प्रदर्शित नहीं किया जा रहा है। क्या मुझे कुछ याद है?

मूल उत्पादन कैसा दिखता है:

  2 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  4 [IP ADDRESS]
  7 [IP ADDRESS]
 16 [IP ADDRESS]
 71 [IP ADDRESS]

और जब मैं कहता [LOCAL IP]हूं तो मेरा मतलब है मेरी मशीन का आईपी।

जब मैं इसके साथ -cइसे चलाता है तो बस जमा देता है।


क्या आप रूट विशेषाधिकारों के साथ घड़ी चला रहे हैं? कमांड ध्वनि लगती है और ऐसा लगता है कि मैं अपनी मशीन पर कैसे उम्मीद करूंगा। बिना चलाए पतों को प्रिंट नहीं किया जाएगा और 30 सेकंड के बाद त्रुटि संदेश प्रिंट हो सकता है।

@StewartPlatt मैं इसे रूट के तहत चलाता हूं। मैंने मूल कमांड आउटपुट जोड़ा। बात यह है, जब मैं देखता हूं - यह केवल मेरे आईपी ​​पते का उत्पादन करता है विज्ञापन मेरे लिए आईपी से जुड़ा आउटपुट नहीं करता है।

जवाबों:


22
netstat -c

अगर मैंने आपकी समस्या को गलत नहीं समझा तो आपकी मदद कर सकता है। -c का मतलब है - कंटिन्यूसेंट।

संपादित करें: वहाँ तुम जाओ:

watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"

मैंने $ से पहले a \ _ जोड़ा है।


पहले से ही कोशिश की, माफ करना मैं यह एक सवाल में निर्दिष्ट नहीं किया। यह सिर्फ जमा देता है जब मैं -c जोड़ें

मुझे एहसास हुआ कि, $ 5 को वॉच के आउटपुट पर हटा दिया गया है। हो सकता है कि कोई उद्धरण चिह्न जारी हो। मैं इस पर खुदाई कर रहा हूँ ..

धन्यवाद, घड़ी में विशेष

1

बस थोड़ी देर लूप चलाएं जो 60 सेकंड तक सोता है

[root@host] $ while true
> do
> netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
> sleep 60
> done

यह आपको हर 60 सेकंड में एक ही आउटपुट देगा

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