인터넷 연결 중단을 모니터링하는 방법-Mac OS X


16

새 ISP에 가입했으며이 새 ISP에 문제가 있습니다. 문제는 인터넷 연결에서 몇 가지 미세한 중단, 지연 현상, 프록시의 시간 초과 또는 네트워크 연결과 관련이 있습니다.

이러한 미세한 중단이 무작위로 발생하기 때문에 기술자가 내 사무실로 기술자를 보낼 때마다 문제를 감지 할 수 없기 때문에, 특히 서비스가 3, 4 시간 동안 안정적 일 수 있으며 문제를 다시 보여주기 시작한다는 것을 증명할 수 없습니다.

두 가지 이유로 매우 성가시다. 무언가를 다운로드 한 다음 다운로드가 갑자기 중지되고 다시 시작해야합니다. 또 다른 이유는 이더넷을 사용하여 전화에 연결된 VoIP 상자를 사용하는데이 VoIP 상자는 매번 연결이 끊어지고 VoIP 전화가 전화 수신 / 발신을 중지하여 전화를 감지 할 때마다 상자를 다시 시작하고 전화를 끊어야합니다. 눈치 채지 않고 전화를 내 렸습니다.

내 질문은 : 어떻게 인터넷 서비스를 모니터링하여 서비스가 다운되었는지, 그래픽이나 그와 비슷한 것을 줄 수 있습니까? Mac에서 실행할 수있는 네트워크 또는 연결의 품질을 모니터링하는 도구 나 방법이 있습니까?

내 생각은 그들에게 보여줄 것이 있고 내가 옳다는 것을 증명하는 것입니다.


이 Q는 실제로 주제에 관한 것일 수 있으며, "좋은 질문"템플릿에 적합합니다 ( 소프트웨어 추천이 필요한 질문 은 어떻게합니까? ) "저는 <problem-x- 네트워크 중단 > 이미 X, Y, Z (VoIP를 감지하면 VoIP 다시 시작) 를 시도했지만이 프로그램이 작동하지 않습니다. 어떻게해야합니까? " 유일한 문제는 기본적으로 대신 중단에 대한 인터넷 연결을 모니터링하는 방법 "말"인터넷 연결을 모니터링하기위한 도구 "는 요구되어 있습니까?
— Xen2050

답변:


5
Applications->Utilities->Console.app

시작 부분에서 로그를 살펴보십시오.

ntop 또는 Little Snitch를 살펴볼 수도 있습니다 .


1
ntop.org <올바른 ntop 링크 (제 생각에)
— Frank Lämmer

네트워크 정보를 보려면 console.app (네트워크 인터페이스 이름)을 검색 en0하거나 en1한 번 열어야합니다.
— 저스틴

7

다음을 사용하는 경우 :

ping -A -i 10 --apple-time 10.20.30.40 > monitor.txt

중지 될 때까지 10 초마다 핑이 계속됩니다 10.20.30.40(주소 변경)

--apple-time당신이 실패를 볼 수 있도록 수단은 각 핑의 시간이 기록됩니다. 이렇게 :

11:33:10.793801 64 bytes from 10.20.30.40: icmp_seq=0 ttl=58 time=27.744 ms
11:33:11.780250 64 bytes from 10.20.30.40: icmp_seq=1 ttl=58 time=9.757 ms
11:33:12.781136 64 bytes from 10.20.30.40: icmp_seq=2 ttl=58 time=10.150 ms
11:33:13.782932 64 bytes from 10.20.30.40: icmp_seq=3 ttl=58 time=11.779 ms
11:33:14.785446 64 bytes from 10.20.30.40: icmp_seq=4 ttl=58 time=11.254 ms

2

어때요? ping 터미널에서 실행? 켜져 있고 핑에 응답하는 서버를 찾으십시오. 정확한 시간을 표시하지는 않지만 무언가 잘못되었다는 증거를 제공합니다.

추가하기 위해 편집 : 나는 비슷한 것을 위해 얼마 전에 나 자신을 사용했습니다. "무엇보다 솔직하게 말해서 무선 액세스 포인트에 결함이있을 수있다"고 말하면서 "적어도 한 시간에 한 번 핑 시간 초과가 발생했습니다."


2

핑

인터넷 연결을 모니터링하려면 간단히 ping 명령을 . ICMP ECHO_REQUEST 만 보내고 응답을 기대합니다.

응답하지 않는 라우터 IP를 핑하면 인터넷 중단으로 ISP에보고 할 수 있습니다.

라우터에 방화벽이있는 경우 arping대신 사용 하거나 다른 원격 호스트를 선택하십시오 (예 :

$ ping 4.2.2.1
PING 4.2.2.1 (4.2.2.1): 56 data bytes
64 bytes from 4.2.2.1: icmp_seq=0 ttl=57 time=37.710 ms
64 bytes from 4.2.2.1: icmp_seq=1 ttl=57 time=32.051 ms

아핑

라우터에 물리적 연결을 모니터링하려면, 당신이 사용할 수있는 arping, 예를 들어,

$ sudo arping 192.168.0.1

이것은 WiFi가 계속 끊기고 라우터가 표준 ICMP 패킷에 응답하지 않을 때 특히 유용합니다. Brew ( brew install arping) 를 통해 설치하십시오 .

Tcpdump

이 tcpdump네트워크 트래픽을 덤프 할 수있다. 예를 들어 모든 나가는 패킷을 port 80및 에 덤프 443하려면 구문은 다음과 같습니다.

sudo tcpdump -i en0 port http or port https

파일에 쓰려면을 추가 -w file한 다음-r file . 여기에는 수신 또는 전송되는 각 네트워크 패킷의 정확한 타임 스탬프가 포함됩니다.

인터넷이 중단되었는지 확인하려면 컴퓨터가 전송하는 SYN 패킷 (플래그 섹션에서)을 찾아 서버가 SYN-ACK로 응답해야합니다. 이것이 일어나지 않고 돌아가는 트래픽이없는 경우 (SYN 패킷 만 있으면 인터넷에 연결되어 있지 않습니다).


tcpdump 출력을 자동으로 검색하여 해당 SYN-ACK 응답이없는 SYN 패킷을 찾는 쉬운 방법이 있습니까?
— Xen2050

@ Xen2050 나는 문맥에 (extra ) ack 한 것보다 뭔가 반응했다는 것을 의미하는 것보다 다음 S과 같은 플래그 를 찾아 덤프 또는 출력을 grep 할 것이라고 생각 합니다. 따라서 반대의 것이 필요합니다. 나는 당신이 5 SYN 패킷을 연속으로 찾을 수 있는 몇 가지 / 구문을 발견했다고 생각합니다 (죽은 호스트에 연락하지 않는 한). sudo tcpdump -i en0 -nl | grep -C5 "Flags .S"| grep ackawksed
— kenorb

실시간 모니터링의 경우 연결이 끊어지면 ping -A www.yahoo.com에서 경고음이 울립니다. IP 주소를 사용할 수 있지만 사람이 읽을 수있는 주소를 사용하면 DNS 오류도 테스트 할 수 있습니다.
— brianfit

1

이 앱은 연결 상태를 기록하고 Apple에서 내부적으로 사용한다고 주장합니다.

네트워크 중단, 시간 경과에 따른 그래프 속도 등을 기록합니다. 또한 Network Logger Pro를 사용하여 웹 사이트를 모니터링하고 속도, 중단 및 응답 시간에 대한 히스토리 그래프를 생성 할 수 있습니다.

https://itunes.apple.com/us/app/network-logger-pro/id764324406?mt=12

그래도 $ 10입니다 : /


1

그것은 낮은 처리량 외에 내가 가진 증상 중 하나였습니다 . 케이블 모뎀으로 판명되었습니다. 좋은 소식은 다른 사람 이 새로운 케이블 모뎀을 갖도록 설득 할 필요 가 없다는 것 입니다. ISP는 케이블 모뎀을 새로운 것으로 교체 할 수있는 정책을 마련했습니다. 당신이 할 것인지 확인하십시오.


흥미롭지 만 요점을 알게되었습니다. 예, 불행히도 연결은 케이블 모뎀에 의한 것이지만 새것입니다 (한 달 전에 설치되었습니다). 케이블 네트워크 문제가 의심됩니다. 나는 케이블 인터넷을 좋아하지 않았다 (내 지역에는 서비스를 제공하는 다른 광대역 회사가 없기 때문에 사용하도록 강요 당했다).
— SpaceDog

1

내 용도로는 간단한 Bash 스크립트를 작성하여이를 확인했습니다. ping대부분의 답변에서 알 수 있듯이 시간 초과를 모니터링하는 방법으로 사용 됩니다. 스크립트의 장점은 성공적인 핑을 포함하지 않고 화면의 출력에 시간이 초과 된 핑만 표시한다는 것입니다. 또한 핑 시도 횟수가 아닌 모니터링 기간 동안 매개 변수를 전달할 수 있습니다. 한마디로 다음을위한 래퍼 일뿐입니다.ping google.com -i 1 -c 60 | grep "timeout\|statistics\|transmitted\|avg" 소스 및 간단한 설치 지침은 아래 링크에서 확인할 수 있습니다.

https://github.com/superman-lopez/monitor-timeouts

macOS 및 Ubuntu Linux에서 스크립트를 테스트했습니다.

#!/bin/bash
#Usage: ./monitor-timeouts.sh [duration] [target]
#example: ./monitor-timeouts.sh 60 192.168.1.1
minutes=$1
target=$2
if [ $# -eq 0 ]; then
    minutes=1
    target=google.com
fi
if [ -z "$2" ]; then
    target=google.com
fi
pings=$((60 * $minutes))

system=`uname`
if [[ $system == *"Linux"* ]]; then
    extraflag="-O"
fi

echo "Start monitor for network timeouts at `date` for $minutes minute(s)."
echo "Target host: $target"
ping $target -i 1 -c $pings $extraflag | grep -i "timeout\|unreachable\|no answer\|statistics\|transmitted\|avg"
echo "End monitoring at `date`."

슈퍼 유저에 오신 것을 환영합니다! 스크립트가 게시물에 포함 할 수있을 정도로 짧습니다. 답을 포함 시키려면 답을 편집 해야 합니다
— bertieb

제안에 감사드립니다
— Superman.Lopez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.