2012-03-30 3 views
9

HTTP를 통해 원격 서버와 통신하는 클라이언트를 작성하고 있습니다. 클라이언트와 서버 사이에 악의적 인 프록시를 배치하여 (무작위로?) 네트워크의 트래픽에 영향을 미칠 수 있습니다. 내가 좋아하는 것클라이언트/서버 상호 작용 테스트 용 이블 프록시

어떤 일이 일어날 :이 시나리오는 TCP와 함께 상상하기 어렵다

  • 임의의 HTTP 오류
  • 응답을

    • 임의의 지연을하지만 지옥 : 절단 응답 (즉, 기형 데이터)
    • 일시적으로 사용할 수 없음 (낮은 네트워크 수준에서 수행해야한다는 점을 감안하면 어렵습니다).
    • 미리 정의 된 사용자 지정 오류 (예 : 모든 요청은 서비스 오류로 돌아옵니다)

    은 기본적으로 내가이 소프트웨어의 사용자가 현실 세계에서 경험하려고하는 것을 조건 네트워킹의 범위를 시뮬레이션하고 싶은 클라이언트가 정상적으로 처리하는지 확인하십시오.

    그와 같은 것이 이미 존재한다고 의심됩니다. 저를 올바른 방향으로 가르쳐주십시오!

    감사

  • +0

    일부 회사는 내부 테스트를 위해 유사한 모듈을 만들었습니다 ... 많은 제어를 허용하는 무료 또는 상업용 프록시를 모르겠습니다 ... 기본적으로 기존 오픈 소스 프록시로 시작하여 필요에 맞게 수정/확장합니다 ... – Yahia

    +0

    예, [Mallory] (http://intrepidusgroup.com/insight/mallory/)를 발견했습니다. 그것은 플러그인을 지원하지만 파이썬을 배우는 데 시간을 투자하기 전에 이미 뭔가가 있는지 알고 싶습니다. – EightyEight

    +1

    더 나은 선택은 네트워크 상호 작용 클래스를 모의하는 것이라고 생각합니다. 따라서 테스트 케이스 코드에 그러한 시나리오를 쉽게 설명 할 수 있습니다. 그렇지 않으면 그러한 시스템을 관리하기가 어려울 수 있습니다. – kan

    답변

    5

    HTTP Test Tool (htt)은 당신이 여기에서 필요로하는 무슨처럼 보인다. 모의 프레임 워크가 작업에 불충분 한 경우 특히 이러한 경우를 테스트하기 위해 the ability to operate as a proxy and a reverse-proxy이 있습니다. 진정으로 악 프록시를 들어

    Metasploit FrameworkBackTrack Linux에서 몇 가지 도구와 함께 Squid을 사용하는 것이 좋습니다. 그래도 프로젝트 범위를 벗어나는 것 같습니다!

    (Additional tools to consider 플러스 one more)

    3

    피들러 1는 스크립트 트래픽 뷰어/프록시입니다.

    3

    시도해 볼 수 있습니다. fiddler - 작성한 모든 내용은 해당 도구를 사용하여 시뮬레이션 할 수 있습니다. 또한 응용 프로그램과 서버 간의 통신 문제 디버깅에 유용합니다. XML-RPC를 구현할 때 많은 시간을 절약 할 수있었습니다.

    여러분에게 도움이되는 몇 가지 훌륭한 확장 프로그램이 있습니다. 정말 특별한 것이 필요한 경우에도 write your own을 사용할 수도 있습니다.

    [편집] Mac의 질문이므로 webscarab 또는 charles (두 번째 지급액)을 시도해 볼 수 있습니다. 그러나 당신은 여전히 ​​가상 머신까지도 모든 머신에서 프록시를 실행할 수 있습니다. 그래서 예비 라이센스를 가지고 있다면 ...

    +0

    불행히도 저는 Mac에 있습니다. – EightyEight

    +0

    @EightyEight 나는 피들러가 모노에서 작동 할 것 같지 않은데, 나는 내 대답을 편집하고 Mac에서 실행할 도구에 대한 링크를 추가했습니다. – SiliconMind

    2

    Mac을 사용하기 때문에 시스템에 ipfw이 내장되어 있습니다. 터미널에서 정보는 man ipfw입니다.

    ipfw은 "Dummynet"이라는 규칙 집합을 포함하여 패킷 손실 및 지연을 도입하는 데 사용할 수있는 방화벽 규칙을 관리합니다. 이것은 모든 문제를 해결하지는 않지만 여분의 소프트웨어를 사용하지 않고도 네트워크 수준에서 트래픽에 영향을 줄 수 있습니다.

    나는 Dummynet을 지원하는 GUI ipfw 규칙 편집기 인 것으로 나타 났으며, an article on WaterRoof이 발견되었습니다. 아마도 다른 사람들이있을 것입니다.

    또한 Dummynet을 사용하여 트래픽 형성에 대해 this AFP548 article을 확인하십시오. 커맨드 라인에서 상당히 편안하다면, 당신은 잘 가야합니다.

    Dummynet은 질문에 나열한 모든 것에 대한 도구를 제공하지 않습니다. 대기 시간 및 패킷 손실과 같은 네트워크 문제를 시뮬레이트 할 수 있습니다. HTTP 수준에서 데이터 변경과 관련된 모든 것에 대해 나는 fiddler이 아마도 사용할 도구 일 것이라고 다른 사람들과 동의합니다.

    Chrome/Chromium의 '요소 검사'도구에 대해 자세히 알아보세요. (마우스 오른쪽 버튼을 클릭 한 다음 대부분의 상황에 맞는 메뉴의 맨 아래에서 선택하십시오.) 숨겨진 양식 변수를 수정하고 나중에 볼 수 있도록 전체 세션을 기록하는 등의 기능과 함께 HTTP 클라이언트 및 서버 헤더를 자세히 보여줍니다. 물건.

    +0

    감사합니다. – EightyEight