मैं tcpdump का उपयोग करके पैकेट के अंतिम N सेकंड को कैसे पकड़ सकता हूं?
मैं tcpdump का उपयोग करके पैकेट के अंतिम N सेकंड को कैसे पकड़ सकता हूं?
जवाबों:
यदि आप चाहते हैं कि tcpdump n सेकंड तक चले और फिर छोड़ दिया जाए, तो आप टाइमआउट का उपयोग कर सकते हैं।
उदाहरण के लिए:
timeout 2 tcpdump -eni mon0
अन्यथा मुझे नहीं लगता कि tcpdump के पास ऐसा करने का विकल्प है।
मुझे लगता है कि इसे पूरा करने का सबसे अच्छा तरीका tcpdump -G फ्लैग के साथ है, जो कि -w के साथ प्रयोग किए जाने पर, आपके डंप को हर N सेकंड में एक नई फ़ाइल में बचाएगा। उदाहरण के लिए:
tcpdump -w आउटफिट-% s -G 10
यह 'आउटफाइल-एक्सएक्सएक्सएक्स' (जहां XXXX सेकंड के बाद से सेकंड की संख्या का प्रतिनिधित्व करता है) के नाम के साथ एक नई फ़ाइल बनाएगा।
अतिरिक्त विवरण के लिए मैन पेज tcpdump (8) और स्ट्रैफ़टाइम (3) देखें।
आप tcpdump के बजाय tethereal का उपयोग कर सकते हैं। आप इस कमांड-लाइन विकल्प का उपयोग कर सकते हैं:
-a duration:X
tshark -a duration:600 -i eth0 -w $(hostname).10mins.pcap
व्यर्थ हो गया) इंटरफ़ेस एथे से फाइल (होस्टनाम) .10mins.pcap
tcpdump options -w new.tcpdump
ps -ef |grep tcpdump
पीआईडी पर ध्यान दें, तो कहें कि यह 11193 है
at 11:00
kill 11193
अब बस 11:00 बजे का इंतजार करना होगा और आपका कब्जा मार दिया जाएगा लेकिन बच जाएगा
मैं उसी मुद्दे को हल करने की कोशिश कर रहा था, इसलिए मैंने n सेकंड के लिए tcpdump चलाने के लिए एक पोर्टेबल स्क्रिप्ट लिखी।
#tcpdump_for_n_sec.sh
n=$1
shift #remove first arg from $@
tcpdump $@ & x=$!
sleep $n
kill $x
उपयोग ./tcpdump_for_n_sec.sh सेकंड tcpdump के लिए आता है
./tcpdump_for_n_sec.sh 5 i- any not port 22 -s0 -wfile.pcap
सुडोकू tcpdump -i -w और यह चलेगा tcpdump स्लीपिंग मोड है