मैं अपने सर्वर से GET
अनुरोध की गणना करने का प्रयास करता हूं।फ़ाइल में लिखने से पहले tshark परिणाम कैसे फ़िल्टर करें?
मैं tshark
का उपयोग करता हूं।
/usr/sbin/tshark -b filesize:1024000 -b files:1 \
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-w samples.pcap -R 'http.request.method == "GET"'
जैसा कि आप देख मैं अधिकतम आकार 1G और नाम के साथ 1 फ़ाइल के लिए फ़िल्टर किए गए परिणाम स्टोर करने के लिए परिभाषित किया गया: samples.pcap
मैं चलाने आने वाले ट्रैफ़िक को फ़िल्टर और केवल GET
अनुरोधों को लाने आदेश का पालन किया।
समस्या यह है, जब मैं PCAP फ़ाइल मैं देखता हूँ कि tshark stored all traffic there
को खोलने का प्रयास:
3245 172.692247 1.1.1.1 -> 2.2.2.2 HTTP [TCP Retransmission] Continuation or non-HTTP traffic
3246 172.730928 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3247 172.731944 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3248 172.791934 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
3249 172.825303 1.1.1.1 -> 2.2.2.2 HTTP HTTP/1.1 200 OK [Unreassembled Packet [incorrect TCP checksum]]
3250 172.826329 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3251 172.826341 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3252 172.826347 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3253 172.826354 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3254 172.826359 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
मैं वास्तव में बड़ी यातायात है, 10 मिनट मैं PCAP फ़ाइल आकार 950M मिल दौरान। और इसे पार्स करने में लगभग 4 मिनट लगते हैं।
दिलचस्प बात यह है कि जब मैं इसे चलाने के लिए कोशिश के बिना इसे स्थानीय फ़ाइल के लिए स्टोर करने के लिए (लेकिन/tmp से कम):
/usr/sbin/tshark \
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-R 'http.request.method == "GET"':
3.776587 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
4.775624 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/clsWebClient.php HTTP/1.1
8.804702 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
यह काम करता है, लेकिन इस मामले में मैं नीचे/tmp कई अस्थायी फ़ाइलें विशाल आकार 1 जी + के साथ।
क्या मुझे कुछ याद आया?
धन्यवाद
======================================== samples.pcap भंडार सभी
sudo /usr/sbin/tshark -T fields -e 'http.request.uri contains "cnc=13"' \
-b filesize:1024000 -b files:1 \
-f 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-w samples.pcap
में सहायता नहीं मिलती है, फिर भी: ===============
संपादित
लार्स -f
जोड़ने के लिए कहा यातायात:
74 6.908388 172.20.0.23 -> 89.78.170.96 HTTP Continuation or non-HTTP traffic
75 6.908394 172.20.0.23 -> 89.78.170.96 HTTP Continuation or non-HTTP traffic
आप '-f' विकल्प के लिए अपने कब्जा फिल्टर अभिव्यक्ति देने की कोशिश की है? –
मैंने कोशिश की, अभी भी में सभी यातायात मिलता है। तुम कहाँ रखा '-f' करते हैं? –
बस फिल्टर अभिव्यक्ति, यानी '-f 'टीसीपी ...' –