Mac에서 터미널을 사용하여 패킷 추적 캡처하기

패킷 추적을 읽는 방법을 알면 네트워크 연결 문제를 진단할 때 유용합니다.

네트워크 인터페이스의 BSD 기기 이름 찾기

  1. 관리자 계정을 사용하여 Mac에 로그인합니다.
  2. Option 키를 길게 누른 상태에서 Apple 메뉴  > 시스템 정보(또는 '시스템 정보 보기')를 선택합니다.
  3. 시스템 정보 윈도우 왼쪽에 있는 목록에서 '네트워크'를 선택합니다. 
  4. 윈도우 오른쪽에 있는 활성 서비스 목록에서 네트워크 인터페이스(예: Wi-Fi 또는 이더넷)를 선택합니다.
  5. 윈도우 아래쪽에 있는 세부 사항 섹션에서 'BSD 기기 이름'을 찾습니다. 그림에 나와 있는 예에서 Wi-Fi에 대한 BSD 기기 이름은 en0입니다.

시스템 정보 윈도우

패킷 추적 캡처하기

  1. '응용 프로그램' 폴더의 '유틸리티' 폴더에 있는 '터미널'을 엽니다.
  2. 다음 명령을 입력하고 BSDname을 시스템 정보에 나와 있는 BSD 기기 이름(예: en0, en1 또는 ppp0)으로 바꿉니다. 

    sudo tcpdump -i BSDname -s 0 -B 524288 -w ~/Desktop/DumpFile01.pcap

  3. return 키를 누른 다음 메시지가 나타나면 관리자 암호를 입력합니다.
  4. 터미널에 tcpdump: listening on...이라고 표시되며, 이는 해당 네트워크 인터페이스에서 활동을 수신하고 있음을 나타냅니다.
  5. 터미널이 열려 있는 동안 테스트하려는 네트워크 기능을 수행합니다.
  6. 네트워크 기능이 완료되면 터미널로 돌아가서 control+C 키를 눌러 패킷 추적을 캡처합니다. 터미널이 캡처한 내용을 'DumpFile01.pcap'라는 파일로 데스크탑에 저장합니다. 
  7. 파일 내용을 보려면 터미널에서 다음 명령을 사용합니다.

    tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile01.pcap

  8. 추가 패킷 추적을 캡처하려면 저장된 파일 번호를 DumpFile02.pcap, DumpFile03.pcap 등과 같이 늘리도록 터미널 명령을 수정합니다.

더 알아보기

Apple Developer 웹 사이트에서는 패킷 추적에 대한 더 많은 정보가 제공됩니다. 네트워크 연결 문제를 해결할 때 컴퓨터 모델, macOS 버전, IP 주소와 대상 IP 주소, MAC(Media Access Control) 주소를 알고 있어야 합니다. 또한 네트워크 활동에서 사용자 컴퓨터의 역할과 문제와 관련된 각 네트워크 이벤트의 시간도 알고 있어야 합니다.

AirPort 베이스 스테이션과 광대역 모뎀 간 연결 문제를 해결할 때 베이스 스테이션을 재시동하고 재시동하는 동안 인터넷 서비스 제공업체와의 상호 작용을 캡처합니다. AirPort 유틸리티를 사용하거나 전원에서 플러그를 뽑으면 베이스 스테이션을 재시동할 수 있습니다. 테스트하는 동안 베이스 스테이션, 모뎀 및 캡처하는 컴퓨터가 스위치가 아닌 이더넷 허브에 연결되어 있는 것이 가장 좋습니다. 또한 캡처하는 컴퓨터의 IP 주소를 수동으로 할당해야 합니다. 그러면 169.254.x.x 주소면 충분하기 때문에 캡처하는 컴퓨터가 베이스 스테이션에 필요한 DHCP 임대를 받지 않습니다.

패킷 추적에서는 Mac에서 보낸 패킷의 TCP 체크섬이 잘못 표시될 수 있습니다. 이는 패킷 추적이 네트워크 스택의 링크 레이어에서 캡처되기 때문입니다. 네트워크 스택은 체크섬이 생성되는 실제 네트워크 어댑터 바로 앞에 있습니다. 이는 무시해도 됩니다.

게시일: