httptap एक ऐसा टूल है जो Linux प्रोग्राम द्वारा किए गए HTTP और HTTPS अनुरोधों को आसानी से देखने देता है
httptap -- का उपयोग करके किसी खास कमांड के नेटवर्क अनुरोधों को ट्रैक किया जा सकता है
- उदाहरण के लिए,
curl कमांड से किसी विशेष URL पर अनुरोध भेजने पर httptap उस अनुरोध और प्रतिक्रिया को आउटपुट करता है
httptap को root अनुमतियों की आवश्यकता नहीं होती और यह पूरे सिस्टम को प्रभावित नहीं करता
- यह फिलहाल केवल Linux पर काम करता है, और इसे अन्य ऑपरेटिंग सिस्टम पर पोर्ट करना कठिन है
- इंस्टॉल करने का तरीका
- क्विक स्टार्ट
curl कमांड से HTTP अनुरोध भेजकर, httptap के जरिए अनुरोध और प्रतिक्रिया देखी जा सकती है
-L विकल्प का उपयोग करके redirect follow करने पर अतिरिक्त HTTP अनुरोध उत्पन्न होते हैं
- Google Cloud और kubectl उपयोग के उदाहरण
gcloud compute instances list कमांड का उपयोग करते समय Google Cloud के compute instances को सूचीबद्ध करने में होने वाले HTTP अनुरोधों को ट्रैक किया जा सकता है
kubectl get all कमांड का उपयोग करते समय Kubernetes क्लस्टर के resources को सूचीबद्ध करने में होने वाले HTTP अनुरोधों को ट्रैक किया जा सकता है
- DNS-over-HTTP
curl के --doh-url विकल्प का उपयोग करके DNS-over-HTTP अनुरोध किए जा सकते हैं
httptap का उपयोग करके DNS अनुरोध और प्रतिक्रियाएं देखी जा सकती हैं
- HAR आउटपुट
- HTTP अनुरोधों और प्रतिक्रियाओं को HAR फ़ाइल के रूप में dump किया जा सकता है
- HAR फ़ाइलों को विभिन्न viewers के जरिए visualize किया जा सकता है
- यह कैसे काम करता है
httptap नेटवर्क namespace का उपयोग करके कमांड को एक isolated environment में चलाता है
- नेटवर्क ट्रैफ़िक को ट्रैक करने के लिए एक TUN device बनाता है, और HTTPS ट्रैफ़िक को डिक्रिप्ट करने के लिए एक अस्थायी certificate authority तैयार करता है
- ध्यान देने योग्य बातें
- प्रोसेस incoming network connections स्वीकार नहीं कर सकती
/dev/net/tun तक access permission की आवश्यकता होती है
- सभी ICMP echo requests को वास्तविक नेटवर्क पर ICMP packets भेजे बिना echo किया जाता है
2 टिप्पणियां
यह अमेरिका के Vermont में Monastic Academy में विकसित किया गया था। हमारा मानना है कि एक मठवासी दिनचर्या, और अधिक व्यापक रूप से बौद्ध आध्यात्मिक मार्ग का अभ्यास, तकनीकी विकास के लिए आदर्श परिस्थितियाँ प्रदान करते हैं।
Hacker News टिप्पणियाँ
README का "How it was made" सेक्शन खुद टूल जितना ही दिलचस्प है
http_proxyजैसी समस्या हो सकती है, और program variable को अनदेखा कर सकता है/etc/resolv.confपर overlay filesystem mount करता है, और सोच रहा हूँ कि क्या temporary CA bundle के साथ/etc/ca-certificatesdirectory को mount करना मददगार होगाhttptap एक process-scoped HTTP tracer है जिसे root permission के बिना चलाया जा सकता है
httptap <command>के साथ चलाकर HTTP/HTTPS requests और responses को standard output पर trace किया जा सकता हैroot permission के बिना network traffic का analysis करने के लिए एक और टूल rootless Podman और Pasta है
--network=pasta:--pcap,myfile.pcapoption जोड़कर network traffic को PCAP file में record किया जा सकता हैTUN device का उपयोग एक शानदार विचार है, और "How it was made" सेक्शन Github README में सबसे बेहतरीन में से एक है
nginx config को debug करने के लिए इसे तुरंत इस्तेमाल करने वाला हूँ
curl -vका उपयोग करके manually output देखता हूँ, लेकिन यह टूल redirect loop जैसी चीज़ों को तुरंत पकड़ने में मदद करेगाहाल ही में mitmproxy में ऐसा ही feature बनाया था, लेकिन इसमें अलग trade-offs हैं
LD_PRELOAD इस्तेमाल करने वाला दूसरा तरीका statically linked ELF, जैसे golang binary, पर fail हो सकता है
gVisor user-space TCP/IP stack का शानदार उपयोग है
Mitmproxy v11.1 भी ऐसा ही feature कर सकता है