আমি কীভাবে tshark থেকে কেবল এইচটিটিপি শিরোনাম ফিরিয়ে দেব?


12

আমি আমার প্যাকেটগুলি স্নিগ্ধ করতে tshark ব্যবহার করছি এবং আমি কেবল HTTP শিরোলেখের সাথে উদ্বিগ্ন (এটি প্রেরিত ফর্মটিতে তবে আমি যা পেতে পারি তা গ্রহণ করব)।

আমি ব্যবহার করার চেষ্টা করেছি:

tshark tcp port 80 or tcp port 443 -V -R "http"

যা আমাকে শিরোনাম দিয়েছে, তবে সামগ্রীও (যা আমি এটির বৃহত পরিমাণ আবর্জনা বিশ্লেষণ করতে চাই না)। আমি সত্যিই কেবল শিরোনাম সম্পর্কেই যত্নশীল, কেবল এটির জন্য কোনও সহজ উপায় আছে (নিজে ডেটা বিশ্লেষণের বাইরে)।

সম্পাদনা: আমার যোগ্যতা অর্জন করা উচিত আমি হোস্ট / পোর্ট সম্পর্কেও যত্নশীল যাতে আমি একাধিক প্যাকেট জুড়ে অনুরোধগুলির ট্র্যাক রাখতে পারি।

উত্তর:


18

আপনি কেবল অনুরোধ শিরোনাম, কেবল প্রতিক্রিয়া শিরোনাম বা উভয়ই প্রদর্শন করতে নির্দিষ্ট HTTP শিরোলেখ প্রদর্শন ফিল্টারগুলি ব্যবহার করতে পারেন।

কেবল অনুরোধ শিরোনামের জন্য:

tshark tcp port 80 or tcp port 443 -V -R "http.request"

কেবল প্রতিক্রিয়া শিরোনামের জন্য:

tshark tcp port 80 or tcp port 443 -V -R "http.response"

এবং অনুরোধ এবং প্রতিক্রিয়া শিরোনাম উভয়ের জন্য:

tshark tcp port 80 or tcp port 443 -V -R "http.request || http.response"

দ্রষ্টব্য: এটি কেবল শিরোলেখগুলিকে, কেবলমাত্র প্যাকেটগুলিতে ফিল্টার করে না যা শিরোনামগুলি অন্তর্ভুক্ত করে, তাই আপনি সম্ভবত কিছু ডেটা পাবেন তবে তথ্যের পরিমাণ অন্যথায় আপনার চেয়ে কম হওয়া উচিত।


আমরা এখনও এক টন ডেটা নিয়ে কথা বলছি যেন আমার কাছে এন.ইউইকিপিডিয়া.র জন্য অনুরোধ আছে আমি 750 কে ফিরে আসছি যখন আমি সত্যই কেবল হেডারে 1k এর চেয়ে কম চাই।
tzenes

tshark একটি প্যাকেট ক্যাপচার সরঞ্জাম, আপনি ফিডলার বা অন্য কোনও HTTP- কেবল বিশ্লেষণ সরঞ্জামের মতো কিছু দেখতে চাইতে পারেন ।
21

আমি ফিজলারের সাথে পরিচিত নই তবে আমার লক্ষ্য সংযোগ থ্রুপুটটি ট্র্যাক করা যাতে আমি এইচটিটিপি শিরোনাম ধরে রাখার সময় অনুরোধের সময় / ফার্স্টবাইট / লাস্টবাইট জানতে চাই। tshark ইতিমধ্যে আমার বেশিরভাগ সমস্যার সমাধান করে, আমার কেবল শিরোনাম পাওয়া দরকার।
tzenes

3
এটি "tshark: অবৈধ ক্যাপচার ফিল্টার" উত্পাদন করে (tshark 2.0.2)। tshark -V -Y http.request tcp port 80 or tcp port 443
কার্যকারণ

5

আসলে আপনি পারেন! পূর্ববর্তী সমস্ত উত্তর খুব কাছাকাছি ছিল। আপনার যা দরকার তা হ'ল এটি হ'ল -Oযা এইচটিটিপি ব্যতীত সমস্ত তথ্য ফিল্টার করে।

tshark -O http -R http.request tcp port 80 or tcp port 443

1
এটা সঠিক উত্তর.
ফ্লোরিন আন্দ্রেই

3

আমি @ হেভিডের কাছ থেকে উত্তরটি একত্রিত করতে পেরেছিলাম এবং একটি এসও নিবন্ধ থেকে প্রাপ্ত একটি সেড ফিল্টার দিয়ে চালাতে পেরেছি - (এফজে এর উত্তর) এই শিশুটিকে রান্না করতে, যা কেবল শিরোনামগুলি ফিল্টার করে :)

sudo tshark tcp port 80 or tcp port 443 -V -R "http.request || http.response" | sed -rn '/Hypertext Transfer Protocol/{:a;N;/    \\r\\n:?/{/.*/p;d};ba}' >> /tmp/filtered

1
ভয়াবহ খারাপ কারণ আমি এটি পড়তে পারি না তবে কবজির মতো কাজ করেছি।
শেফেরন

2

সহজ পড়ার জন্য আমার নিজস্ব ফিল্টার সংস্করণ:

tshark -V -R "tcp.port ==80 && (http.request || http.response)" | awk "/Hypertext Transfer Protocol/,/Frame/ { print };/Transmission Control Protocol/{print};/Internet Protocol/{print}" | grep -v Frame

এই ভাবে আমি কেবলমাত্র প্রাসঙ্গিক আইপি এবং টিসিপি তথ্য দেখতে পাচ্ছি, সমস্ত নিম্ন স্তরের সামগ্রী ছাড়াও সম্পূর্ণ এইচটিটিপি তথ্য।


sudo tshark -V -s0 Port 80 -Y "(http.request || http.response)" | awk "/ হাইপারটেক্সট ট্রান্সফার প্রোটোকল /, / ^ $ /"
Lmwangi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.