tcpdump를 사용하여 http 토큰 캡처

tcpdump를 사용하여 http 토큰 캡처

내 서버는 토큰을 사용하여 특정 API에 대해 컬 명령을 실행합니다. 예를 들어:

curl --header "Private-Token: aaaaaaaaaaaaaa" http://mysite.example.com/api/v4/any

tcpdump특정 토큰을 사용하여 이 API에 대한 모든 요청을 캡처할 수 있나요? 그렇다면 어떻게 해야 할까요? 다른 아이디어도 훌륭해요.

답변1

HTTP 트래픽을 듣고 tcpdump실제 패킷 내용을 보려면 다음 명령을 사용할 수 있습니다.

sudo tcpdump -X -s 1500 "port 80 and host mysite.example.com"

그러나 데이터 필터링은 특정 패킷 위치에서만 수행될 수 tcpdump있으며 이 경우에는 불가능합니다.

따라서 다음을 ngrep사용하여 들을 수도 있습니다.철사네트워크 인터페이스의 특정 문자열 데이터를 사용합니다.

sudo ngrep -q "Private-Token: aaaaaaaaaaaaaa" "port 80 and host mysite.example.com"

실제 호스트/포트 필터에 대해서는 tcpdump/BPF 필터에 대한 간략한 요약을 참조하세요.TCPDUMP 표현식

또한 wireshark@StephenHarris의 추천은 그래픽 인터페이스가 있기 때문에 훌륭합니다. tcpdump나중에 에서 사용할 수 있도록 파일에 원시 데이터를 쓰 려면 wireshark다음을 수행할 수 있습니다.

sudo tcpdump -X -s 1500 "port 80 and host mysite.example.com" -w mycapture.pcap

Capture 애플리케이션 레벨 패킷 요청을 사용할 수도 있습니다 sysdig. (테스트 없이 답을 확신할 수 없음)

sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains "Private-Token: aaaaaaaaaaaaaa"

관련 정보