8 puan yazan GN⁺ 2025-02-04 | 2 yorum | WhatsApp'ta paylaş
  • httptap, Linux programlarının yaptığı HTTP ve HTTPS isteklerini kolayca görmeyi sağlayan bir araçtır
    • httptap -- kullanarak belirli bir komutun ağ isteklerini izleyebilirsiniz
  • Örneğin curl komutunu kullanarak belirli bir URL'ye istek gönderdiğinizde, httptap ilgili istek ve yanıtı çıktı olarak verir
    • httptap root yetkisi gerektirmez ve sistem genelinde etki yaratmaz
    • Şu anda yalnızca Linux'ta çalışır; diğer işletim sistemlerine taşımak zordur
  • Kurulum yöntemi
  • Hızlı başlangıç
    • curl komutuyla HTTP isteği gönderebilir, httptap ile istek ve yanıtları görebilirsiniz
    • Yönlendirmeleri takip etmek için -L seçeneği kullanıldığında ek HTTP istekleri oluşur
  • Google Cloud ve kubectl kullanım örnekleri
    • gcloud compute instances list komutunu kullanarak Google Cloud'daki compute instance'larını listelerken oluşan HTTP isteklerini izleyebilirsiniz
    • kubectl get all komutunu kullanarak Kubernetes kümesindeki kaynakları listelerken oluşan HTTP isteklerini izleyebilirsiniz
  • DNS-over-HTTP
    • curlün --doh-url seçeneği kullanılarak DNS-over-HTTP istekleri yapılabilir
    • httptap ile DNS istekleri ve yanıtları görülebilir
  • HAR çıktısı
    • HTTP istekleri ve yanıtları HAR dosyası olarak dökülebilir
    • HAR dosyaları çeşitli görüntüleyicilerle görselleştirilebilir
  • Nasıl çalışır
    • httptap, ağ ad alanlarını kullanarak komutu yalıtılmış bir ortamda çalıştırır
    • Bir TUN aygıtı oluşturarak ağ trafiğini izler ve HTTPS trafiğini çözmek için geçici bir sertifika otoritesi oluşturur
  • Dikkat edilmesi gerekenler
    • Süreç gelen ağ bağlantılarını kabul edemez
    • /dev/net/tun erişim izni gerekir
    • Tüm ICMP echo istekleri, gerçek ağa ICMP paketi göndermeden echo edilir

2 yorum

 
halfenif 2025-02-06

ABD'nin Vermont eyaletindeki Monastic Academy'de geliştirildi. Bir manastır programının ve daha genel olarak Budist ruhani yol pratiğinin, teknolojik gelişim için ideal koşullar sunduğuna inanıyoruz.

Test ederken GitHub'a baktım. Manastır eğitimi mi? Bunu yapanların, ruhani gelişimin bir parçası olarak geliştirdiğini düşündüm.

 
GN⁺ 2025-02-04
Hacker News görüşü
  • README'deki "How it was made" bölümü, aracın kendisi kadar ilgi çekici

    • Topluluk yaşamı ve meditasyon pratiği üzerinden yazılım geliştirilmiş
    • Süreci izole bir ağ ad alanında çalıştırma fikri dahiyane
    • HTTPS kısmı ilgi çekici; programın geçici dizindeki CA bundle'ı kullanmasını söyleyen ortam değişkenleri ayarlanıyor
    • http_proxy benzeri sorunlar ortaya çıkabilir ve program bu değişkenleri yok sayabilir
    • /etc/resolv.conf üzerine bir overlay dosya sistemi mount ediliyor; geçici CA bundle'ı kullanmak için /etc/ca-certificates dizinini de mount etmenin yardımcı olup olmayacağı merak ediliyor
  • httptap, root yetkisi olmadan çalışabilen, süreç kapsamlı bir HTTP izleme aracı

    • httptap <command> ile çalıştırılarak HTTP/HTTPS istekleri ve yanıtları standart çıktıya izlenebiliyor
    • Komutu izole bir ağ ad alanında çalıştırıyor ve kendi TCP/IP yığınını kullanıyor
    • Bir HTTP proxy'si değil; komutun HTTP proxy kullanacak şekilde ayarlanması gerekmiyor
    • TLS trafiğini gerçek zamanlı olarak bir CA oluşturarak çözüyor
    • iptables kuralları kurmuyor ve sistem genelinde değişiklik yapmıyor
  • Root yetkisi olmadan ağ trafiğini analiz etmek için bir başka araç da rootless Podman ve Pasta

    • --network=pasta:--pcap,myfile.pcap seçeneği eklenerek ağ trafiği bir PCAP dosyasına kaydedilebiliyor
    • Kaydedilen PCAP dosyasını tshark ile analiz eden basit bir örnek yazılmış
  • TUN cihazı kullanmak harika bir fikir ve "How it was made" bölümü Github README'leri arasında en iyilerden biri

    • Subtrace adlı bir araç geliştiriliyor; bu araç içeri ve dışarı giden istekleri otomatik olarak yakalayabiliyor
    • Seccomp BPF kullanılarak socket, connect, recv, accept gibi sistem çağrıları yakalanıyor ve tüm TCP bağlantıları Subtrace üzerinden proxy'leniyor
    • TCP akışındaki HTTP istekleri ayrıştırılıp kullanıcıya Chrome DevTools Network sekmesindeki gibi gösteriliyor
  • nginx yapılandırmasını debug etmek için hemen kullanılacak

    • Şu anda çıktı manuel olarak curl -v ile inceleniyor, ancak bu araç yönlendirme döngüsü gibi sorunları anında görmeyi sağlayacak
  • Yakın zamanda mitmproxy içinde benzer bir özellik geliştirilmiş, ancak farklı trade-off'ları var

    • Root yetkisi gerekiyor ve otomatik sertifika kurulumu henüz yok
    • Uygulamayı ayrılmış bir ad alanında çalıştırmak gerekmiyor; bu yüzden zaten çalışan süreçler yakalanabiliyor
  • LD_PRELOAD kullanan başka bir yaklaşım, statik linklenmiş ELF'lerde, örneğin golang ikililerinde başarısız olabilir

  • gVisor kullanıcı alanı TCP/IP yığınının mükemmel bir kullanımı

  • Mitmproxy v11.1 de benzer bir işlevi yerine getirebiliyor