인터넷 연결 중단을 모니터링하는 방법-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.