Cygwin에서 Linux 핑 사용


8

pingCygwin의 기본 패키지 또는 Windows ping 유틸리티가 작동하지 않는 일반적인 Linux 구문으로 명령 을 사용하는 스크립트로 작업해야합니다 . 지금은 Windows 버전을 사용하도록 스크립트를 패치했습니다 (어려운 어려움; Windows 실행 파일은 유용한 반환 코드를 제공하지 않으므로 출력을 구문 분석해야합니다). Linux ping의 상자 호환성 및 추가 기능 . 더 나아 가기 전에 관리자 모드에서 Cygwin을 실행하고 있다고 진술하겠습니다. 특권 문제가 아닙니다. 버전 문제입니다.

Cygwin의 기본 ping명령은 'ping : IP 네트워크 연결을 테스트하는 기본 네트워크 도구'패키지의 설정 관리자에서 버전 '1.0-1'로 표시됩니다. 인수가 없으면 다음을 출력합니다.

Usage:  ping [-dfqrv] host [packetsize [count [preload]]]

매뉴얼 페이지 설명은 "DARPA 인터넷은 크고 복잡한 네트워크 하드웨어 집합" 으로 시작합니다. 이 버전은에 설치된 버전입니다 /bin/ping.

Windows ping명령은에 있으며 $SYSTEMROOT/system32/ping매개 변수없이 호출 할 때 다음 메시지를 출력합니다.

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
        [-r count] [-s count] [[-j host-list] | [-k host-list]]
        [-w timeout] target_name

이것은 확실히 더 풍부한 기능을 갖춘 핑 (특히, 시간 초과를 포함하여 나에게 중요 함)이지만 최신 Linux 설치에서는 사용할 수있는 버전이 아닙니다.

ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern] 
     [ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface] 
     [ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout] 
     [ hop ...] destination

여기에 온라인으로 문서화되어 있습니다 . Cygwin을 제외하고 cygwin 버전의 ping에 대한 참조를 찾을 수없는 것 같습니다.

핑없이 Cygwin의 초기 버전을 설명하는 이 고대 이메일 스레드 를 발견 했습니다 . Windows 용으로 설계된 iputils 버전을 찾지 못했습니다.

답변:


3

당신은 할 수

  • 소스에서 ping을 빌드하려고 시도하면 iputils 패키지 의 일부입니다 . 그러나 cygwin에 물건을 만드는 것은 상당히 번거로울 수 있습니다.

또는 (그리고 나는 이것을 먼저 시도 할 것입니다)


고맙게도, 원하는 요구 사항 중 하나가 iputils 버전의 구문을 가지고 있기 때문에 첫 번째 옵션이 더 잘 작동하는 것처럼 보이므로 다른 핑 구현을 시도해도 도움이되지 않습니다. 즉, 내가 이것을 처음 접했다고 의심하기 때문에 누군가 이미 시도한 경우를 기다릴 것입니다.
Kevin Vermeer

그런데, iputils는 거의 2 년 안에 태그를 공개하지 않았지만, git 저장소에서 IPv6을 지원하기위한 개발이 약간있었습니다. ipv6.org / gitroot / iputils.git`. 누군가에게 도움이되기를 바랍니다. 이 작업을 마치면 패치를 게시 할 것입니다. 할 일이 상당히 많지만 극복 할 수없는 것 같습니다.
Kevin Vermeer

1
Cygwin 용 iputils를 구축 할 수있는 곳이라면 Cygwin 커뮤니티의 나머지 사람들도이 프로그램에 관심이있는 것 같습니다.
me_and

@me_and-성공하면 확실히 릴리스 할 것입니다. 그러나 처음 몇 개의 파일은 단순히 등으로 변경 #include <linux/filename.h>하여 잘 컴파일되었지만 #include <cygwin/filename.h>나중에 Cygwin 소켓 드라이버에는 iputils에 필요한 기능이 부족하다는 것을 알았습니다. Cygwin 용 iputils를 구축하는 것만이 아니라 iputils와 함께 작동하도록 Cygwin을 구축하는 것도 중요합니다. 여유 시간이 있으면 나중에 다시 설명하겠습니다.
Kevin Vermeer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.