কোনও নেটওয়ার্ক ইন্টারফেসে অন-দ্য ফ্লাই মনিটরিং HTTP র অনুরোধ?


79

ডিবাগিংয়ের উদ্দেশ্যে আমি কোনও নেটওয়ার্ক ইন্টারফেসে http অনুরোধগুলি নিরীক্ষণ করতে চাই।

একটি নিষ্পাপ tcpdumpকমান্ড লাইন ব্যবহার করে আমি অনেক বেশি নিম্ন-স্তরের তথ্য পাই এবং আমার প্রয়োজনীয় তথ্য খুব পরিষ্কারভাবে উপস্থাপন করা হয় না।

tcpdumpকোনও ফাইলের মাধ্যমে ট্র্যাফিক ডাম্পিং করা এবং তারপরে ব্যবহার করে wiresharkএমন অসুবিধা হয় যা এটি অন ফ্লাইটে নেই।

আমি এই জাতীয় একটি সরঞ্জাম ব্যবহার কল্পনা:

$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...

আমি লিনাক্স ব্যবহার করছি।


একই প্রশ্নে উত্তর superuser.com/questions/67428/possible-to-catch-urls-in-linux
AlexD

উত্তর:


100

চেষ্টা করুন tcpflow:

tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

আউটপুট এর মত:

GET /search?q=stack+exchange&btnI=I%27m+Feeling+Lucky HTTP/1.1
Host: www.google.com

আপনি গ্রেপ স্টেটমেন্টে স্পষ্টতই অতিরিক্ত এইচটিটিপি পদ্ধতি যুক্ত করতে পারেন sedএবং দুটি লাইন একটি সম্পূর্ণ URL- এর সাথে সংযুক্ত করতে ব্যবহার করতে পারেন ।


এর একটি সুবিধা tcpflowহ'ল এটি উবুন্টু 10.04-এ ডিফল্ট সংগ্রহস্থলগুলিতে ইতিমধ্যে উপলব্ধ (জাস্টসনিফার, পোস্ট্রি নয়)। প্যাকেজ তথ্যটি জানিয়েছে যে আইপি টুকরোগুলি সঠিকভাবে রেকর্ড করা হয়নি - জানেন না, যদি এই ব্যবহারের ক্ষেত্রে এটি গুরুত্বপূর্ণ হয় - সম্ভবত জাস্টসনিফার এগুলি আরও ভালভাবে পরিচালনা করতে পারে।
ম্যাক্সচেলেপজিগ

যেহেতু আপনি কেবল ইউআরএলটি ধরছেন তা মনে হচ্ছে না এটির মত লাগবে। টিসিপিফ্লো প্যাকেটগুলি ইন্টারফেসে যে ক্রমে প্রাপ্ত হয়েছিল সেগুলি প্রদর্শন করবে। সুতরাং, আপনি যদি ফাইলের সামগ্রীগুলি ক্যাপচার করার চেষ্টা করছিলেন তবে আপনি প্যাকেটগুলি পেতে পারেন যা ক্রমবর্ধমান এবং কোনও দূষিত ফাইল তৈরি করতে পারে। তবে আপনার ব্যবহারের প্রশ্নটিতে তালিকাভুক্ত আমি মনে করি এটি আপনার জন্য কাজ করবে work বাছাইয়ের জন্য প্যাকেট ডেটা বা আরও পরে দেখার জন্য আপনার গ্রেপ (বা -ও সরান) আরও প্রশস্ত করতে পারেন।
বাহামা

@ বাহাহাত কি "টিসিপিফ্লো" https ইউআরএল নিয়ে কাজ করতে পারেন?
মৌলিক প্যাটেল

ক্রমবর্ধমান, উত্তর হয় না। অতীতে এসএসএল যথেষ্ট দুর্বল ছিল যে আপনার প্রবাহের জন্য ব্যবহৃত কীটিতে অ্যাক্সেস থাকলে আপনি সেই কী ব্যবহার করে যে কোনও ট্র্যাফিক ডিক্রিপ্ট করতে পারবেন। আজ, বেশিরভাগ সাইটগুলি নিখুঁত-ফরোয়ার্ড-গোপনীয়তা ব্যবহার করবে এবং সাময়িক কীগুলি নিয়ে আলোচনা করবে। আজকের সেরা বিকল্পটি একটি তথাকথিত "তারের মধ্যে ধাক্কা" স্বচ্ছ প্রক্সি।
বাহামাত

1
ওয়াইফাই ব্যবহার করে ব্রাউজ করার সময় কিছুই পায়নি: sudo tcpflow -p -c -i wlo2 Port 80 | , grep -oE '(পান | পোষ্ট | মস্তক) * HTTP- র / 1 [01] | হোস্ট:।।। *'
Ses

23

আপনি এটি করতে httpry বা Justniffer ব্যবহার করতে পারেন ।

httpry যেমন ফেডোরা প্যাকেজ সংগ্রহস্থলের মাধ্যমে উপলব্ধ।

উদাহরণ কল:

# httpry -i em1

(যেখানে em1একটি নেটওয়ার্ক ইন্টারফেসের নাম বোঝায়)

উদাহরণ আউটপুট:

2013-09-30 21:35:20    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/6281/editor-heartbeat/edit    HTTP/1.1
2013-09-30 21:35:20    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:35:49    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/validate-body                 HTTP/1.1
2013-09-30 21:35:49    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:33:33    192.168.0.1      92.197.129.26    >    GET     cdn4.spiegel.de    /images/image-551203-breitwandaufmacher-fgoe.jpg    HTTP/1.1

(আউটপুট কিছুটা ছোট করা হয়)


আমি কীভাবে শিরোনাম বা অনুরোধ বা প্রতিক্রিয়ার প্রধান অংশটি প্রদর্শন করতে পারি?
মোহাম্মদ নুরাল্ডিন

কিছুই উবুন্টু httpry -i wlo2 (যেখানে wlo2 দ্বারা ওয়াইফাই ডিভাইস নাম হয়) পেয়েছিলাম
Ses

7

আমি অনুরূপ প্রয়োজনীয়তার সাথে খুঁজছিলাম যা এটির জন্যও https তে কাজ করা উচিত ।

পিসিএপ ভিত্তিক সরঞ্জাম tcpflow httpry urlsnarfএবং অন্যান্য টিসিপিডাম্প কুংফু HTTP- র জন্য ভাল কাজ করে তবে সুরক্ষিত অনুরোধগুলির জন্য আপনি ভাগ্যের বাইরে চলে যান।

আমি urldump নিয়ে এসেছি , যা mitmproxy এর চারপাশে একটি ছোট মোড়ক ।
iptablesপ্রক্সিটিতে ট্র্যাফিক পুনর্নির্দেশের জন্য ব্যবহৃত হয়, সুতরাং এটি স্বচ্ছভাবে কাজ করে।

$ sudo urldump   
http://docs.mitmproxy.org/en/stable/certinstall.html
http://docs.mitmproxy.org/en/stable/_static/js/modernizr.min.js
https://media.readthedocs.org/css/sphinx_rtd_theme.css
https://media.readthedocs.org/css/readthedocs-doc-embed.css
https://media.readthedocs.org/javascript/readthedocs-doc-embed.js
...

আরও তথ্যের জন্য README দেখুন ।


1

আমি মনে করি যে ওয়্যারশার্ক আপনি যা চান তা করতে সক্ষম

প্লাস সাইডে, এটি খুব শক্তিশালী, আপনি এপটি-গেটের মাধ্যমে এটি ইনস্টল করতে পারেন এবং এটি জিইউআই সহ আসে।

তবে, ফিল্টার সিস্টেমটি জটিল - তবে এখানে ভাল টিউটোরিয়াল রয়েছে এবং এটি আপনাকে ট্র্যাফিকের একটি লাইভ বা স্টপ / স্টপ ওভারভিউ দেবে।

ফিল্টারটিতে 'http' শব্দটি টাইপ করা সম্ভবত আপনি যা খুঁজছেন তা দেবে (অর্থাত্ ব্যবহারকারীদের দ্বারা উত্পাদিত মূল ট্র্যাফিক)।


কেন এটি নিম্নমানের ছিল তা জানতে চাই। ওয়্যারশার্ক ফ্লাইতে ইন্টারফেসটি পড়তে পারে এবং কেবল HTTP ট্র্যাফিকে ফিল্টার করতে পারে।
কেভিন এম

@ কেভিন এম, আচ্ছা, আমি আপনার উত্তরটি কমিয়ে দেখিনি। তবে ন্যায্য হতে আপনার উত্তরটি কিছুটা অসম্পূর্ণ এবং অফ-বিষয়। ১) এটি ওয়্যারশার্কটি কীভাবে ব্যবহার করা উচিত তার বিশদটি মিস করে না, অর্থাৎ ফিল্টারটি ব্যবহার করা উচিত, সঠিক ফিল্টার এক্সপ্রেশন ইত্যাদি 2) প্রশ্নটিতে স্কেচ করা কমান্ড লাইন ব্যবহারের অনুমতি দেয় না - এমনকি আমি ঠিক থাকলেও জিইউআই পদ্ধতির, ডিফল্ট ভিউটি জিইটি অনুরোধগুলি প্রদর্শন করে, যেখানে ডোমেন নাম পাশাপাশি পাশাপাশি প্রদর্শিত হয় না - স্কেচযুক্ত ব্যবহারের ক্ষেত্রে এটি সুবিধাজনক নয়।
maxschlepzig

আমি বলতে চাইছি s / আপনার উত্তর /
ফোবিয়ার

1

আর একটি ভাল বিকল্প নেট নেট হতে পারে

ফেডোরাতে মূল প্যাকেজগুলির মধ্যে পাওয়া যায় এবং সেন্টোতে আপনি এটি এপেল রেপোর মাধ্যমে পেতে পারেন।


1

কমান্ড লাইন প্রোগ্রামটিও রয়েছে urlsnarfযা ডিএসনিফ প্যাকেজের অংশ (যা ফেডোরা ১৯ উদাহরণস্বরূপ প্যাকেজযুক্ত)।

উদাহরণ:

# urlsnarf -i em1
urlsnarf: listening on em1 [tcp port 80 or port 8080 or port 3128]
jhost - - [29/May/2014:10:25:09 +0200] "GET http://unix.stackexchange.com/questions HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/css/style-V5-2-2.css HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/jscfg/http/global-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/javascript-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/interface-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/netmind-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/favicon.ico HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "POST http://ocsp.thawte.com/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "POST http://ocsp.thawte.com/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0
[..]

(প্রথমে এসই এবং তারপরে spiegel.de এ ব্রাউজ করার সময়)

সীমাবদ্ধতা: dsnarf IPv6 সমর্থন করে না । আমি ফেডোরা 19-তে 0.17 দিয়ে এই বাগের প্রতিবেদনটি পুনরুত্পাদন করতে পারি bu

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.