2012-03-26 13 views
18

पर आधारित tcpdump आउटपुट को फ़िल्टर करने के लिए कैसे मैं पैकेट लंबाई के आधार पर tcpdump आउटपुट फ़िल्टर करने का प्रयास कर रहा हूं। लेकिन मुझे कोई भाग्य नहीं था।पैकेट लंबाई

यह आदेश के लिए सरल आउटपुट है;

tcpdump -n मैं eth0 डीएसटी पोर्ट 443 -एक

17:03:30.866890 IP 192.168.0.149.45104 > 62.75.148.60.443: Flags [S], seq 2685064927, win 14600, options [mss 1460,sackOK,TS val 7028787 ecr 0,nop,wscale 4], length 0 
E..<[email protected]@.......>K.<.0... 
........9............ 
[email protected] 


17:03:30.867658 IP 192.168.0.149.45104 > 62.75.148.60.443: Flags [.], ack 2285019097, win 913, options [nop,nop,TS val 7028787 ecr 974439509], length 0 
[email protected]@.......>K.<.0... 
...2............. 
[email protected]:..U 


17:03:30.867928 IP 192.168.0.149.45104 > 62.75.148.60.443: Flags [P.], seq 0:171, ack 1, win 913, options [nop,nop,TS val 7028787 ecr 974439509], length 171 
[email protected]@..f....>K.<.0... 
...2............. 
[email protected]:..U...........Opw2.....l..".T.7.q.]h..8W..%.....H... 
.......9.8.......5... .....E.D.3.2...........A...../......... 
...1.........alice.sni.velox.ch. 
.................#.. 


17:03:30.869712 IP 192.168.0.149.45104 > 62.75.148.60.443: Flags [.], ack 1319, win 1078, options [nop,nop,TS val 7028788 ecr 974439511], length 0 
[email protected]@.......>K.<.0... 
...2.....6....... 
[email protected]:..W 


17:03:30.870724 IP 192.168.0.149.45104 > 62.75.148.60.443: Flags [P.], seq 171:178, ack 1319, win 1078, options [nop,nop,TS val 7028788 ecr 974439511], length 7 
E..;[email protected]@.......>K.<.0... 
...2.....6....... 
[email protected]:..W......0 

मैं संकुल को देखने के लिए केवल अगर वे और अधिक तो 100bytes लंबाई है चाहता हूँ। इस मामले के लिए, केवल तीसरा पैकेट।

विकल्प [nop, nop, टीएस वैल 7,028,787 ईसीआर 974,439,509], लंबाई 171

मैं tcpdump के लिए आदमी पृष्ठों पर ध्यान दिया है, लेकिन किसी भी उपयोगी पैरामीटर नहीं पा सके। यहां वर्णित 'अधिक लंबाई' अभिव्यक्ति है; http://www.ethereal.com/docs/man-pages/tcpdump.8.html लेकिन मैं उस अभिव्यक्ति का भी उपयोग नहीं कर सका।

$ tcpdump -n -i eth0 dst port 443 -A -x greater 100 
tcpdump: syntax error 

किसी भी मदद के लिए धन्यवाद।

उत्तर

26

greaterलंबाई काम करता है, लेकिन आप एक पूरा फिल्टर अभिव्यक्ति के हिस्से के रूप में इसका इस्तेमाल करने के लिए है, और फिल्टर अभिव्यक्ति सभी आदेश-पंक्ति ध्वज तर्क बाद आने के लिए है।

कार्य उदाहरण:

tcpdump -n -i eth0 -A -x dst port 443 and greater 100 

काम करना चाहिए - dst port 443 and greater 100 एक पूरा फिल्टर अभिव्यक्ति है, जो पैकेट (सहित कि TCP या UDP पोर्ट 443 के लिए भेजा जा रहा है और है कि एक कुल लंबाई के लिए जाँच करता है लिंक परत, आईपी, और टीसीपी हेडर) से अधिक 100

उदाहरण काम कर नहीं:

tcpdump -n -i eth0 dst port 443 -A -x greater 100 

काम करेगा नहीं - dst port 443 में dst एक फिल्टर अभिव्यक्ति की शुरुआत माना जाता है, जिसका अर्थ है कि यह और सब कुछ इसके बाद, सहित -A और -x, फिल्टर अभिव्यक्ति के हिस्से के रूप में व्यवहार किया जाता है, लेकिन -A और -x फ़िल्टर अभिव्यक्ति के मान्य घटक नहीं हैं। वे संभावित रूप से कमांड लाइन विकल्प होने का इरादा रखते हैं, इसलिए उन्हें फ़िल्टर अभिव्यक्ति के घटकों समेत सभी गैर-ध्वज तर्कों से पहले जाना चाहिए।

संबंधित मुद्दे