이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 sipsak입니다.
프로그램:
이름
sipsak - sip 서버 및 사용자 에이전트에 대한 다양한 테스트를 위한 유틸리티
개요
한 모금 [-dFGhiILnNMRSTUVvwz] [-NS PASSWORD ] [-NS NUMBER ] [-씨 시푸리 ] [-씨 시푸리 ] [-NS
NUMBER ] [-이자형 NUMBER ] [-이자형 STRING ] [-NS FILE ] [-NS STRING ] [-시간 호스트 이름 ] [-엘 PORT ] [-미디엄
NUMBER ] [-또는 NUMBER ] [-NS 호스트 이름 ] [-NS NUMBER ] [-NS REGEXP ] [-NS PORT ] [-NS NUMBER ] [-유
STRING ] [-W NUMBER ] [-NS NUMBER ] -s 시푸리
기술
한 모금 SIP 스트레스 및 진단 유틸리티입니다. SIP 요청을 서버로 보냅니다.
이내 십우리 수신된 응답을 검토합니다. 다음 중 하나에서 실행됩니다.
모드 :
- 기본 모드
SIP 메시지가 목적지로 전송됩니다. 십우리 및 응답 상태가 표시됩니다. NS
요청은 다음에서 가져옵니다. 파일 이름 또는 새 OPTIONS 메시지로 생성됩니다.
- 경로 추적 모드(-T)
이 모드는 요청 경로를 학습하는 데 유용합니다. IP 계층과 유사하게 작동합니다.
유틸리티 traceroute(8).
- 메시지 모드(-M)
주어진 대상에 짧은 메시지(휴대폰의 SMS와 유사)를 보냅니다.
옵션으로 -B MESSAGE의 내용을 설정할 수 있습니다. 유용할 수 있습니다
옵션 -c 그리고 -O 이 모드에서.
- usrloc 모드(-U)
SIP 레지스트라의 스트레스 모드. 한 모금 높은 상태에서 SIP 서버에 계속 등록
속도. 또한 레지스트라는 다음으로 스트레스를 받을 수 있습니다. -I 또는 -M 옵션. 만약에
-I 그리고 -M 생략된다 한 모금 주어진 연락처를 등록하는 데 사용할 수 있습니다( -C
옵션) 등록 기관의 계정에 대한 현재 바인딩 쿼리
등록 기관에서 계정.
- randtrash 모드(-R)
파서 고문 모드. 한 모금 고문을 위해 무작위로 손상된 메시지를 계속 보냅니다.
SIP 서버의 파서.
- 홍수 모드(-F)
SIP 서버용 스트레스 모드. 한 모금 높은 상태에서 SIP 서버에 요청을 계속 보냅니다.
속도.
라이브러리(http://www.nongnu.org/ruli/) 지원은 다음으로 컴파일됩니다. 한 모금 바이너리, 그럼
먼저 _sip._udp.hostname에 대한 SRV 조회가 수행됩니다. 이 조회가 정상적인 A에 실패하면
조회가 이루어집니다. 대상 URI에 포트가 제공된 경우 SRV 조회가 생략됩니다. 장애 조치,
부하 분산 및 기타 전송은 아직 지원되지 않습니다.
옵션
-a, --password 비밀번호
주어진 PASSWORD 수신된 '401에서 인증을 시도합니다.
무단'입니다. 승인은 정시에 시도됩니다. 이 옵션을 생략하면
빈 암호("")로 인증을 시도합니다. 비밀번호가 같으면
에 - 암호는 표준 입력(예: 키보드)에서 읽습니다. 이것
동일한 호스트의 다른 사용자가 호스트의 암호를 볼 수 없도록 합니다.
프로세스 목록. 알림: 다른 사용자가 있는 경우 암호를 메모리에서 읽을 수 있습니다.
액세스 할 수 있습니다.
-A, --타이밍
자세한 정보가 XNUMX인 경우 테스트 실행의 타이밍 값만 인쇄합니다. -v
주어졌다. 하나 이상의 경우 -v 이 옵션이 주어지면 무시됩니다.
-b, --appendix-시작 번호
usrloc 모드에서 사용자 이름에 추가되는 시작 번호입니다. 이것
NUMBER 에 의해 주어진 값에 도달할 때까지 증가합니다. -e 매개변수. 만약에
생략하면 시작 번호는 XNUMX이 됩니다.
-B, --메시지 본문 STRING
주어진 STRING 나가는 MESSAGE 요청의 본문으로 사용됩니다.
-c, --SIPURI에서
주어진 시푸리 다음과 같은 경우 From 헤더에 사용됩니다. 한 모금 메시지 모드에서 실행
(로 시작 -M 옵션). 이것은 수신자를 제시하는 데 유용합니다.
MESSAGE 응답을 보낼 수 있는 의미 있고 사용 가능한 주소입니다.
-C, --SIPURI에 문의
이것은 usrloc 모드에서 Contact 헤더의 내용입니다. 이것은 삽입을 허용합니다
메일처럼 전달합니다. 예를 들어 첫 번째 SIP의 URI를 삽입할 수 있습니다.
두 번째 계정의 계정이므로 두 번째 계정에 대한 모든 호출이 전달됩니다.
첫 번째 계정으로. 이 옵션에 대한 인수는
대괄호는 쉼표로 구분된 원시 형식으로 여러 연락처를 제공할 수도 있습니다.
목록. 특별한 단어 빈 or 없음 결과적으로 연락처 헤더가 없습니다.
REGISTER 요청이므로 서버는 현재 바인딩으로 응답해야 합니다.
등록 기관의 계정.
-d, --무시 리디렉션
이 옵션을 설정하면 모든 리디렉션이 무시됩니다. 기본적으로 이 옵션이 없으면
수신된 리디렉션이 존중됩니다. 이 옵션은 자동으로 활성화됩니다.
randtrash 모드 및 플러드 모드.
-D, --timeout-factor NUMBER
SIP_T1 타이머에 주어진 NUMBER가 곱해집니다. 받은 후
INVITE 요청에 대한 임시 응답 또는 TCP와 같은 안정적인 전송
또는 TLS가 사용됩니다. 한 모금 최종 응답에 대한 결과 시간을 기다립니다.
포기할 때까지.
-e, --appendix-end NUMBER
usrloc 모드에서 사용자 이름에 추가되는 끝 번호입니다. 이것
이 끝 부분에 도달할 때까지 숫자가 증가합니다. 수. 홍수 모드에서 이것은
보낼 최대 메시지 수입니다. 생략하면 기본값은
홍수 모드에서 2^31(2147483647).
-E, --전송 STRING
의 가치 STRING 요청을 보내고 받기 위한 IP 전송으로 사용됩니다.
및 응답. 이 옵션은 URI 평가 및 SRV의 결과를 덮어씁니다.
조회. 현재 'udp' 및 'tcp'만 값으로 허용됩니다. 끈.
-f, --파일명 FILE
의 내용 FILE 바이너리 모드에서 읽고 대체품으로 사용됩니다.
대안으로 생성된 sip 메시지의 경우. 이것은 기본 모드에서 사용할 수 있습니다.
OPTIONS 요청(예: INVITE) 이외의 다른 요청을 합니다. 기본적으로 누락
줄 바꿈 앞에 캐리지 리턴이 삽입됩니다(사용 -L 비활성화
이 기능). 파일 이름이 다음과 같으면 - 파일은 표준 입력에서 읽습니다.
예를 들어 키보드나 파이프에서. 조작 기능에 유의하십시오.
(예: Via 헤더 삽입)은 RFC 준수 요청으로만 테스트됩니다. 추가
파일 내의 특수 문자열은 일부 로컬 또는 지정된 값으로 대체될 수 있습니다.
(참조 -g 그리고 -G 자세한 내용은).
-F, --플러드 모드
이 옵션은 홍수 모드를 활성화합니다. 이 모드에서 OPTIONS 요청은
증가하는 CSeq 번호가 서버로 전송됩니다. 응답은 무시됩니다 -- 소스 포트
localhost의 9(폐기)는 최상위 Via에 광고됩니다.
-h, --도움말
간단한 사용 도움말 메시지를 인쇄합니다. 옵션이 긴 경우 --도움 사용할 수 있습니다
사용 가능한 긴 옵션과 함께 도움말 메시지를 인쇄합니다.
-g, --대체 문자열 STRING
요청 내에서 $replace$ 대체를 활성화합니다(일반적으로
파일)과 끈. 또는 속성 목록을 지정할 수도 있습니다.
가치. 이 목록은 영숫자가 아닌 문자로 시작하고 끝나야 합니다. NS
속성과 값 사이의 구분 기호로도 동일한 문자를 사용해야 합니다.
그리고 새로운 추가 속성 값 쌍 사이. "$attribute$" 문자열은
메시지의 값 문자열로 대체됩니다.
-G, --바꾸기
요청에서 다음 변수의 자동 교체를 활성화합니다.
(보통 파일에서 읽음): $dsthost$ 호스트로 대체되거나
에 의해 주어진 도메인 이름 -s 매개 변수입니다. $srchost$ 로 대체됩니다.
로컬 머신의 호스트 이름. $포트$ 로컬 수신 포트로 대체됩니다.
of 십삭. $사용자$ 에서 제공한 사용자 이름으로 대체됩니다. -s
매개 변수입니다.
-H, --호스트 이름 호스트 이름
지정된 매개변수로 호스트 이름의 자동 감지를 덮어씁니다.
경고: 주의해서 사용하십시오(자동 감지가 실패한 경우에만 권장).
-i, --노-비아
localhost의 Via 라인 삽입을 비활성화합니다. 경고: 이것은 아마도
서버로부터의 응답 수신을 비활성화합니다.
-나, --초대 모드
usrloc 모드 내에서 초대 주기를 활성화합니다. 와 결합되어야 합니다. -유.
이 조합에서 한 모금 먼저 사용자를 등록한 다음 시뮬레이션합니다.
이 사용자에게 초대합니다. 먼저 Invite가 전송되고 이것은 200 OK로 응답하고
마지막으로 ACK가 전송됩니다. 이 옵션은 -U ,하지만 당신은해야합니다
이 옵션으로 실제 UA를 초대하지 마십시오. 누락된 경우 -U 전에, -l
PORT 만든 경우에만 필요하기 때문에 -U 전에 고정 로컬 포트로 실행하고,
와 함께 뛰다 -I 동일한 고정 로컬 포트가 성공할 수 있습니다. 경고: 한 모금 is
실제 UA가 없고 실제 UA에 초대하면 예기치 않은 동작이 발생할 수 있습니다.
-j, --헤더 STRING
The 현 요청에 하나 이상의 추가 헤더로 추가됩니다. NS
문자열 "\n"(참고: 두 문자)은 CRLF로 대체되므로 결과는
두 개의 별도 헤더. 그렇게 하면 하나 이상의 헤더를 추가할 수 있습니다.
-l, --local-port 포트
수신 UDP 소켓은 로컬 네트워크를 사용합니다. 포트. 파일이 다음과 같은 경우에 유용합니다.
주어진 -f 올바른 Via 라인이 포함되어 있습니다. 을 체크 해봐 -S 자세한 방법은 옵션
sipsak은 메시지를 보내고 받습니다.
-L, --no-crlf
모든 줄 바꿈(\n) 앞에 캐리지 리턴(\r) 삽입 비활성화
(이미 캐리지 리턴으로 진행되지 않음) 입력이 a에서 오는 경우
파일 ( -f ). 이 옵션이 없으면 요청에 빈 줄이 추가됩니다.
필요한 경우.
-m, --max-forwards NUMBER
Max-Forward 헤더 필드의 값을 설정합니다. 생략하면 Max-Forward 없음
필드가 삽입됩니다. traceroute 모드에서 생략된 경우 번호 255가 될 것입니다.
-M, --메시지 모드
이것은 usrloc 모드 내에서 메시지 주기를 활성화합니다( 한 모금
일반 usrloc 테스트 내에서 0.8.0 이전 버전). 이 옵션을 결합해야 합니다.
과 -U 성공적인 등록이 테스트 메시지와 함께 테스트될 수 있도록
사용자 및 200 OK로 응답했습니다. 그러나 이 옵션은 -U
옵션을 선택합니다. 경고: 없이 사용 -U 예기치 않은 동작을 유발할 수 있습니다.
-n, --숫자
Via 라인의 정규화된 도메인 이름 대신 로컬 호스트의 IP
으로 사용될 것. 이 옵션은 이제 기본적으로 켜져 있습니다.
-N, --nagios 코드
일반 sipsak 코드 대신 Nagios 호환 반환 코드를 사용하십시오. 이것은 의미
한 모금 모든 것이 정상이면 0을 반환하고 오류(로컬 또는
원격).
-o, --수면 번호
한 모금 위해 잘 것이다 NUMBER usrloc 모드에서 다음 주기를 시작하기 전에 ms.
이렇게 하면 전체 테스트 프로세스가 더 현실적이 되도록 속도가 느려집니다. 각 주기는
여전히 가능한 한 빨리 완료되지만 전체 테스트가 느려집니다.
-O, --disposition STRING
주어진 STRING Content-Disposition 헤더의 내용으로 사용됩니다.
이 옵션이 없으면 요청에 Content-Disposition 헤더가 없습니다.
-p, --outbound-proxy 호스트 이름[:포트]
호스트 이름의 주소는 요청이 전송될 대상입니다.
(발신 프록시). 대상 호스트가 호스트 부분과 다른 경우 이것을 사용하십시오.
요청 URI. 호스트 이름은 지원되는 경우 DNS SRV를 통해 확인됩니다(
SRV 해결에 대한 설명) 포트가 제공되지 않습니다.
-P, --프로세스 NUMBER
스타트 NUMBER 전송 및 응답 검사를 수행하기 위해 병렬로 프로세스를 구성합니다. 만 만든다
에 대한 더 높은 숫자인 경우 -e usrloc, 메시지 또는 초대 모드에서 제공됩니다.
-q, --검색 REGEXP
에 대한 응답 일치 REGEXP 일치하는 항목이 없으면 false를 반환합니다. 에 유용한
서버 헤더 필드에서 서버 이름을 감지하는 예입니다.
-r, --원격 포트 포트
기본 sip 포트 5060 대신 PORT 으로 사용될 것. 또는
원격 포트는 sip URI 내에서 제공될 수 있습니다. -s 매개 변수입니다.
-R, --무작위 모드
이것은 randtrash 모드를 활성화합니다. 이 모드에서는 OPTIONS 요청이 다음으로 전송됩니다.
이 요청 내에서 무작위로 충돌한 문자 수가 증가하는 서버입니다.
요청 내의 위치와 교체 캐릭터는 무작위로 선택됩니다.
잘못된 요청(4xx) 이외의 다른 응답은 이 모드를 중지합니다. 또한 세
응답하지 않은 전송은 이 모드를 중지합니다. 이랑 -t 휴지통의 최대 매개변수
문자를 줄 수 있습니다.
-s, --sip-uri SIPURI
이 필수 옵션은 요청 대상을 설정합니다. 모드에 따라 다릅니다
서버 이름 또는 사용자 이름만 필수인 경우. 전체 예
시푸리 : 한모금:[이메일 보호]: 123 SRV에 대한 설명 부분의 참고 사항 참조
이 URI의 호스트 이름이 IP 및 포트로 변환되는 방법에 대한 자세한 내용은 조회를 참조하십시오.
-S, --대칭
이 옵션으로 한 모금 메시지를 보내고 받는 데 하나의 포트만 사용합니다.
이 옵션을 사용하면 전송을 위한 로컬 포트는 -l 옵션을 선택합니다.
기본 모드에서 한 모금 임의의 포트에서 보내고 지정된 포트에서 수신 대기
인사말 -l 옵션을 선택합니다. 참고 : 이 옵션으로 한 모금 받을 수 없습니다
비대칭 신호(및 손상된 보고서 구현)가 있는 서버의 응답
Cisco 프록시처럼. 실행하면 한 모금 루트 및 원시 소켓 지원(확인
의 출력 -V 옵션) 이 옵션은 필요하지 않습니다.
케이스 한 모금 이미 메시지를 보내고 받는 데 하나의 포트만 사용합니다.
-t, --trash-chars 번호
이 매개변수는 randtrash 모드에서 최대 휴지통 문자를 지정합니다.
생략하면 NUMBER 요청 길이로 설정됩니다.
-T, --추적 경로 모드
이것은 traceroute 모드를 활성화합니다. 이 모드는 잘 알려진 것처럼 작동합니다.
traceroute(8) 명령은 네트워크 홉 수가 계산되지 않을 것으로 예상합니다.
목적지 사용자에게 가는 도중에 서버의 수. 또한 왕복 시간
각 요청이 인쇄되지만 sip 프로토콜의 제한으로 인해
ID(IP 또는 이름)는
서버에 경고 헤더 필드가 있습니다. 이 모드에서는 각 발신 요청에 대해
Max-Forwards 헤더 필드의 값은 XNUMX부터 증가합니다. 최대치
Max-Forwards 헤더의 값은 다른 값이 지정되지 않은 경우 255가 됩니다. -m 매개 변수입니다.
483 또는 1xx 이외의 다른 응답은 최종 응답으로 처리되며
이 모드를 종료합니다.
-u, --auth-사용자 이름 STRING
주어진 사용 STRING 인증을 위한 사용자 이름 값으로(다른 계정
및 인증 사용자 이름).
-U, --usrloc 모드
이것은 usrloc 모드를 활성화합니다. 없이 -I 또는 -M 옵션, 이것만
등록 기관에 사용자를 등록합니다. 위의 옵션 중 하나를 사용하여 이전
등록된 사용자는 시뮬레이션된 호출 흐름(초대, 200,
ack) 또는 인스턴트 메시지(message, 200). 모든 사용자 계정에 대한 하나의 암호
usrloc 테스트 내에서 다음과 같이 주어질 수 있습니다. -a 옵션. 사용자 이름은 필수 항목입니다.
이 모드의 경우 -s 매개변수. 부터 시작하는 숫자 -b 받는 매개 변수
-e 매개변수에 사용자 이름이 추가됩니다. 만약 -b 그리고 -e 매개변수는 생략하고,
주어진 사용자 이름으로 하나만 실행되지만 사용자 이름에 번호를 추가하지 않습니다.
수행.
-v, --자세한
이 매개변수는 출력 상세 정보를 증가시킵니다. 아니요 -v 제외하고는 거의 출력이 없음을 의미합니다.
traceroute 및 오류 메시지에서. 최대 XNUMX개의 v가 내용을 인쇄합니다.
수신 및 전송된 모든 패킷의
-V,-버전
의 이름과 버전 번호를 출력합니다. 한 모금 그리고 기존에 있던 옵션
바이너리로 컴파일됩니다.
-w, --추출-ip
경고 헤더 필드에서 IP 또는 호스트 이름 추출을 활성화합니다.
-W, --nagios-NUMBER 경고
성공 전 재전송 횟수가 있는 경우 Nagios 경고 종료 코드(1)를 반환합니다.
주어진 숫자 이상이었습니다.
-x, --NUMBER 만료
Expires 헤더의 값을 주어진 숫자로 설정합니다.
-z, --바인딩 제거
usrloc 모드에서 오래된 바인딩을 무작위로 제거하도록 활성화합니다. 당 몇
바인딩의 퍼센트가 제거되며 USRLOC_REMOVE_PERCENT에 의해 결정됩니다.
코드 내에서 정의합니다(컴파일 전에 설정). 바인딩의 다중 제거
가능하고 예방할 수 없습니다.
RETURN Values
반환 값 0은 200이 수신되었음을 의미합니다. 1은 1xx 또는 2xx가 아닌 다른 것을 의미합니다.
받았어요. 2는 확인할 수 없는 이름 또는 잘못된 것과 같은 로컬 오류에 대해 반환됩니다.
옵션 조합. 소켓 오류(예: icmp
오류), 연락처 헤더 없이 리디렉션되거나 단순히 응답이 없습니다(시간 초과).
경우 -N 옵션에 반환 코드가 제공된 경우(로컬 또는 원격)
오류. 1에서 재전송이 있는 경우 한 모금 서버에. 그리고 0이면
전혀 오류가 없었습니다.
주의
한 모금 책임감 있게. 스트레스 모드에서 실행하면 상당한 부담이 됩니다.
테스트 중인 네트워크 및 서버.
사용 예
sipsak -vv -s sip:[이메일 보호]
수신된 응답을 표시합니다.
sipsak -T -s 한 모금:[이메일 보호]
아무도 SIP 경로를 추적합니다.
sipsak -U -C sip:me@home -x 3600 -a 비밀번호 -s sip:myself@company
XNUMX시간 동안 직장에서 집으로 포워딩을 삽입합니다.
sipsak -f bye.sip -g '!FTAG!345.af23!TTAG!1208.12!' -s sip:myproxy
bye.sip 파일을 읽고 $FTAG$를 345.af23으로, $TTAG$를 1208.12로 바꾸고
마지막으로 이 메시지를 myproxy로 보냅니다.
제한 사항 / 않습니다. 구현됨
많은 서버가 SIP "경고" 헤더 필드를 포함하지 않기로 결정할 수 있습니다. 불행히도 이
traceroute 모드에서 SIP 서버의 IP 주소 표시를 불가능하게 만듭니다.
IPv6은 지원되지 않습니다.
Record-Route 및 Route 헤더에 대한 지원이 없습니다.
onworks.net 서비스를 사용하여 온라인으로 sipsak 사용