Hacker News 의견
  • README의 "How it was made" 섹션이 도구 자체만큼 흥미로움

    • 공동체 생활과 명상 수련을 통해 소프트웨어 개발을 진행함
    • 격리된 네트워크 네임스페이스에서 프로세스를 실행하는 아이디어가 천재적임
    • HTTPS 부분에 관심이 있으며, 임시 디렉토리의 CA 번들을 사용하도록 프로그램을 지시하는 환경 변수를 설정함
    • http_proxy와 유사한 문제가 발생할 수 있으며, 프로그램이 변수를 무시할 수 있음
    • /etc/resolv.conf에 오버레이 파일 시스템을 마운트하며, 임시 CA 번들을 사용하여 /etc/ca-certificates 디렉토리를 마운트하는 것이 도움이 되는지 궁금함
  • httptap은 루트 권한 없이 실행할 수 있는 프로세스 범위의 HTTP 트레이서임

    • httptap <command>로 실행하여 HTTP/HTTPS 요청과 응답을 표준 출력으로 추적할 수 있음
    • 격리된 네트워크 네임스페이스에서 명령을 실행하며, 자체 TCP/IP 스택을 사용함
    • HTTP 프록시가 아니며, 명령이 HTTP 프록시를 사용하도록 설정할 필요가 없음
    • TLS 트래픽을 실시간으로 CA를 생성하여 해독함
    • iptables 규칙을 설치하거나 시스템 전역 변경을 하지 않음
  • 루트 권한 없이 네트워크 트래픽을 분석할 수 있는 또 다른 도구는 rootless Podman과 Pasta임

    • --network=pasta:--pcap,myfile.pcap 옵션을 추가하여 네트워크 트래픽을 PCAP 파일로 기록함
    • 기록된 PCAP 파일을 tshark로 분석하는 간단한 예제를 작성함
  • TUN 장치를 사용하는 것이 멋진 아이디어이며, "How it was made" 섹션이 Github README 중 최고임

    • Subtrace라는 도구를 개발 중이며, 자동으로 들어오고 나가는 요청을 가로챌 수 있음
    • Seccomp BPF를 사용하여 소켓, 연결, 수신, 수락 등의 시스템 호출을 가로채고, 모든 TCP 연결을 Subtrace를 통해 프록시함
    • TCP 스트림에서 HTTP 요청을 파싱하여 사용자에게 Chrome DevTools Network 탭에서 보여줌
  • nginx 설정을 디버그하는 데 즉시 사용할 예정임

    • 현재는 curl -v를 사용하여 수동으로 출력물을 확인하지만, 이 도구는 리디렉션 루프 등을 즉시 파악할 수 있게 해줌
  • 최근 mitmproxy에 유사한 기능을 구축했지만, 다른 트레이드오프가 있음

    • 루트 권한이 필요하며, 자동 인증서 설치는 아직 없음
    • 전용 네임스페이스에서 앱을 실행할 필요가 없어 이미 실행 중인 프로세스를 캡처할 수 있음
  • LD_PRELOAD를 사용하는 다른 방법은 고정 링크된 ELF, 예를 들어 golang 바이너리에서 실패할 수 있음

  • gVisor 사용자 공간 TCP/IP 스택의 훌륭한 활용임

  • Mitmproxy v11.1도 유사한 기능을 수행할 수 있음