Sitemap

[Proxyman] Breakpoint 로 API Request / Response 조작하여 디버깅하기

5 min readSep 7, 2024

들어가기 전에

개-하! 개발하다보면 API 요청이나 응답을 조작하고 싶을때가 있잖아여?

저는 프록시 툴로 Proxyman 을 사용하고 있고, 여기서는 API 에 대한 Breakpoint 를 활성화 할 수 있는데요

  • Request 에 걸면, 요청이 서버로 전송되기 전 해당 요청을 중지하고
  • Response 에 걸면, 앱에 응답이 전송되기 전에 중지 됩니다

따라서 이때 요청 / 응답을 수정하면 적당히 원하는 값을 테스트할 수 있는데요! 간단한 예시로 살펴보져 ㄱㄱ

Breakpoint 걸기

저는 Safari 주소창에서 helloworld 를 치면, hellonaljin 으로 검색 키워드를 바꿔서 요청하고 싶다고 해볼게여

Press enter or click to view image in full size

이를 위해서 우선 조작을 원하는 API 요청을 찾아야겠져?

대충 필터링해서 찾아주고

Press enter or click to view image in full size

우클릭 > Tools > Breakpoint 클릭하면

Press enter or click to view image in full size

방금 클릭한 요청에 맞는 Matching Rule 을 자동으로 세팅해줍니다. 그리고 우측에 Request, Response 둘 다 브포를 걸겠다고 체크가 되어있는걸 확인할 수 있습니다.

Press enter or click to view image in full size

그리고 해당 API 를 다시 trigger 하는 동작을 하면?! (여기서는 helloworld 다시 치기)

먼저 Request 에 대한 breakpoint 가 활성화 된 창을 볼 수 있습니다

Press enter or click to view image in full size

요청 수정

이제 수정을 해봐야겠져

Query 쪽에 q 가 검색 키워드 같으니까

Press enter or click to view image in full size

이 값을 hellonaljin 으로 바꾸고 Execute 시킬게여

Press enter or click to view image in full size

이제 한번 더 response 에 대한 breakpoint 가 걸리는데, 여기서는 조작하고 싶은게 없으므로 그냥 Execute 하겠습니다

Press enter or click to view image in full size

그럼 검색창에 키워드가 hellonaljin 으로 변경되어있는것을 볼 수 있습니당. 저희가 요청을 hellonaljin 으로 바꿨기 때문이죠!

Press enter or click to view image in full size

응답 수정

이제 response 조작으로 가볼게여. 구글 한번 가줬으니까 네이버로 가서! 검색창에 있는 검색어를 입력해주세요 -> 드디어 로봇청소기 삼 으로 바꿔보고 싶다고 할게여

Press enter or click to view image in full size

그럼 아까랑 똑같이 응답을 조작하고 싶은 api (m.naver.com) 에 우클릭을 해서 Tools > Breakpoint 를 걸어줍니다

아 근데 proxyman 짜치는건.. 브레이크 포인트 걸 수 있는 최대 개수가 1개라는 것…… 그래서 이전에 걸어뒀던 브포는 지워줘야합니다…. 하…. 10만원 프로 사고 광명 찾아??

이번에는 Request 쪽에는 조작하고 싶은게 없으니까 Response breakpoint 만 걸어둘게요.

Press enter or click to view image in full size

그리고 똑같이 해당 조건을 다시 트리거하면! Response 오기 전에 브포가 걸리겠져?? 여기서 응답값을 조작한 후 Excute 합니다.

Press enter or click to view image in full size

그러면 이렇게 응답값이 잘 조작되어서 오는걸 확인할 수 있져

Press enter or click to view image in full size

마무리

뭐…. 막상 살펴보니 별 내용없었져??

만약 응답 자체를 내 로컬에 있는 파일로 대체하고 싶다!! 하는 map local 기능을 사용하고 싶으신 분들은 아래 링크를 참고해보시구여!

나는 Charles 쓴다고! Fiddler 쓴다고! HTTP Tookit 쓴다고!!! 하시는 분들은?! 알아서 찾아보세요..? ㅎㅎ

HTTP Toolkit 은 modify 쪽에서 조작 하시는거 같더라구요………..? 개수 제한 없어서 좋아보임………

튼…..전 프록시맨 쓰고 있으니까? 여기까지 할게여! 여러분이 쓰시는 좋은 프록시 툴 있으면 추천해주세여!

그럼 20000!

출처

--

--

No responses yet