Wireshark는 Linux, MacOS, *BSD 및 기타 UNIX 및 UNIX와 같은 운영 체제 및 Windows 용 네트워크 트래픽 분석기 또는 "스나이퍼"입니다. 그래픽 사용자 인터페이스 라이브러리 인 QT, LibpCap 및 NPCap을 패킷 캡처 및 필터링 라이브러리로 사용합니다.
Wireshark 배포에는 Tshark도 제공됩니다. Tshark는 또한 Tshark (Sun 's Snoop 또는 TCPDump와 유사) 인 Tshark와 동일한 해부, 캡처 파일 판독 및 쓰기 및 Wireshark와 패킷 필터링 코드를 사용하고 EditCap과 함께 제공됩니다. 캡처 파일을 읽고 해당 캡처 파일에서 패킷을 다른 캡처 파일 형식으로 작성하고 캡처에서 일부 패킷을 제거하는 프로그램.
Wireshark의 공식 홈은 https://www.wireshark.org입니다.
최신 분포는 서브 디렉토리 https://www.wireshark.org/download에서 찾을 수 있습니다.
Wireshark 프로젝트는 다음 플랫폼에서 정기적으로 구축하고 테스트합니다.
Microsoft Windows 및 MacOS에는 공식 설치 패키지를 사용할 수 있습니다.
Debian, Ubuntu, Fedora, Centos, Rhel, Arch, Gentoo, OpenSuse, FreeBsd, Dragonfly BSD, NetBSD 및 OpenBSD를 포함한 많은 인기있는 운영 체제 및 Linux 배포판을위한 표준 또는 애드온 패키지로 제공됩니다.
또한 PKGSRC, OpenCSW, Homebrew 및 MacPorts와 같은 많은 타사 패키징 시스템을 통해 제공됩니다.
너무 많은 문제없이 다른 유닉스 시스템에서 실행해야합니다.
경우에 따라 Wireshark의 현재 버전이 운영 체제를 지원하지 않을 수 있습니다. Wirleshark 1.10 이상에서 지원되는 Windows XP의 경우입니다. 다른 경우에는 Wireshark의 표준 패키지가 단순히 오래 될 수 있습니다. 이것은 Solaris와 HP-UX의 경우입니다.
Wireshark를 구축하려면 Python 3이 필요합니다. Asciidoctor는 Man Pages를 포함하여 문서를 작성해야합니다. 소스 코드 중 일부를 생성하려면 Perl 및 Flex가 필요합니다.
따라서 Python 3, Asciidoctor 및 GNU "Flex"(Vanilla "Lex"는 작동하지 않는 시스템)를 설치해야합니다. Perl도 설치해야 할 수도 있습니다.
전체 설치 지침은 설치 파일 및 개발자 안내서 https://www.wireshark.org/docs/wsdg_html_chunked/에서 찾을 수 있습니다.
적절한 readme도 참조하십시오. OS 특이 적 설치 지침 용 OS 파일.
네트워크에서 패킷을 캡처하려면 덤프 캡 프로그램을 루트로 설정하거나 시스템이 너무 기울어 져있는 경우 /dev
아래에 적절한 항목에 액세스해야합니다 (BSD 유래 시스템 및와 같은 시스템. DLPI를 지원하는 Solaris 및 HP-UX는 일반적 으로이 범주에 속합니다). Wireshark와 Tshark 실행 파일 세트 루트를 만들거나 루트로 실행하는 것이 유혹적이지 않을 수도 있습니다. 캡처 프로세스는 덤프 캡에서 분리되었습니다. 이 간단한 프로그램은 보안 구멍을 포함 할 가능성이 적기 때문에 루트로 실행되기 위해 더 안전합니다.
각 명령 줄 옵션 및 인터페이스 기능에 대한 설명은 맨 페이지를 참조하십시오.
Wireshark는 여러 다른 파일 유형에서 패킷을 읽을 수 있습니다. 지원되는 파일 형식 목록은 Wireshark Man Page 또는 Wireshark 사용자 안내서를 참조하십시오.
Wireshark는 Wireshark가 컴파일 될 때 필요한 압축 라이브러리를 사용할 수있는 경우 Wireshark는 해당 파일의 압축 버전을 투명하게 읽을 수 있습니다. 현재 지원되는 압축 형식은 다음과 같습니다.
GZIP 및 LZ4 (기본값 인 독립적 인 블록을 사용할 때)는 빠른 무작위 찾기를 지원하므로 대형 파일에서 훨씬 더 나은 GUI 성능을 제공합니다. 이러한 압축 형식은 CMake, IE, cmake -DENABLE_ZLIB=OFF
, cmake -DENABLE_LZ4=OFF
또는 cmake -DENABLE_ZSTD=OFF
로 전달하여 컴파일 시간에 비활성화 할 수 있습니다.
Wireshark는 AIX IPTRACE 파일을 읽을 수 있지만 AIX의 IPTRACE 패킷 트레이스 명령에 대한 문서는 드물다. iptrace
명령은 추적을 막기 위해 죽여야하는 데몬을 시작합니다. 실험을 통해 HUP 신호를 Iptrace 데몬에 보내면 우아한 종료가 발생하고 전체 패킷이 추적 파일에 기록됩니다. 부분 패킷이 마지막에 저장되면 Wireshark는 해당 파일을 읽을 때 불만을 제기하지만 다른 모든 패킷을 읽을 수 있습니다. 이런 일이 발생하면 Wireshark 개발자에게 [email protected]로 알려주십시오. 트레이스 파일이 작고 민감하지 않은 데이터가 포함 된 경우 해당 추적 파일의 사본을 보내주십시오.
Lucent/Ascend 제품에 대한 지원은 MAX 및 PIPLINE 시리즈 제품에 의해 생성 된 디버그 트레이스 출력으로 제한됩니다. Wireshark는 wandsession
, wandisplay
, wannext
및 wdd
명령의 출력을 읽을 수 있습니다.
Wireshark는 ISDN 라우터의 Toshiba "Compact Router"라인 (TR-600 및 TR-650)에서 덤프 트레이스 출력을 읽을 수 있습니다. 라우터에 텔넷을 텔넷에 snoop dump
로 덤프 세션을 시작할 수 있습니다.
코사인 L2 디버그 출력은 Wireshark에서도 읽을 수 있습니다. L2 디버그 출력을 먼저 얻으려면 먼저 Diags 모드를 입력 한 다음 Layer-2 범주에서 create-pkt-log-profile
및 apply-pkt-lozg-profile
명령을 사용하십시오. 이 명령을 사용하는 방법에 대해 자세히 설명하려면 layer-2 create ?
또는 layer-2 apply ?
.
Lucent/Ascend, Wireshark와 함께 Toshiba 및 Cosine Traces를 사용하려면 디스크의 파일에 추적 출력을 캡처해야합니다. 추적은 라우터 내부에서 일어나고 있으며 라우터는 추적을 파일에 저장할 방법이 없습니다. Unix 에서이 작업을 수행하는 쉬운 방법은 telnet <ascend> | tee <outfile>
. 또는 시스템에 "스크립트"명령이 설치된 경우 Telnet을 포함한 쉘 세션을 파일에 저장할 수 있습니다. 예를 들어 TraceFile.out이라는 파일에 로그인하려면 :
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
Wireshark는 IPv4 및 IPv6 패킷을 디코딩 할 때 반대 이름 해상도 기능을 사용하려고 시도합니다.
Wireshark를 사용하는 동안 이름 해상도를 끄려면 -n
옵션을 사용하여 Wireshark를 시작하여 모든 이름 해상도 (Mac 주소 및 TCP/UDP/SMTP 포트 번호의 해상도 포함) 또는 -N mt
옵션을 끄십시오. 모든 네트워크 계층 주소 (IPv4, IPv6, IPX)의 이름 해상도를 끄십시오.
편집 메뉴의 환경 설정 항목을 사용하여 환경 설정 대화 상자를 열고 "이름 해상도"를 선택하고 적절한 이름 해상도 옵션을 끄고 "OK"를 클릭하여 기본 설정을 만들 수 있습니다.
Wireshark는 SNMP 패킷의 기본 디코딩을 수행 할 수 있습니다. 또한 LiBSMI 라이브러리를 사용하여 MIB 파일을 읽고 해당 파일의 정보를 사용하여 더 친근한 방식으로 OID 및 가변 바인딩 값을 표시하여보다 정교한 디코딩을 수행 할 수 있습니다. CMAKE는 시스템에 LIBSMI 라이브러리가 있는지 자동으로 결정합니다. Libsmi 라이브러리가 있지만 Wireshark가 사용 하지 않으 려면 -DENABLE_SMI=OFF
옵션으로 CMAKE를 실행할 수 있습니다.
Wireshark는 지속적으로 개발 중이므로 버그를 사용하는 동안 버그가 발생할 수 있습니다. https://gitlab.com/wireshark/wireshark/-/issues에서 버그를보고하십시오. 버그를 입력해야합니다.
도움말 메뉴의 "About Wireshark"항목의 전체 빌드 정보 또는 Wireshark 버그에 대한 wireshark -v
의 출력 및 Tshark 버그에 대한 tshark -v
의 출력;
Linux에서 버그가 발생하면 사용중인 Linux 배포 및 해당 분포 버전;
Tshark를 실행 한 경우 명령 줄에서 Wireshark 또는 Tshark에서 Wireshark를 실행 한 경우 Wireshark를 호출하는 데 사용한 명령 및 수행 한 작업 순서가 발생하여 버그가 나타납니다.
버그가 특정 추적 파일에 의해 생성되는 경우 버그 설명과 함께 트레이스 파일을 버그에 첨부하십시오. 추적 파일에 민감한 정보 (예 : 비밀번호)가 포함 된 경우 보내지 마십시오.
Wireshark가 '세분화 위반', '버스 오류', 'Abort'또는 UNIX 코어 덤프 파일을 생성하는 기타 오류로 당신에게 죽으면 디버거가 설치되어 있으면 개발자에게 많은 도움을 줄 수 있습니다. 디버거 (이 예에서 'GDB'), Wireshark 바이너리 및 결과 코어 파일을 사용하여 스택 추적을 얻을 수 있습니다. 다음은 GDB 명령 '백트레이스'를 사용하여 그렇게하는 방법의 예입니다.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
핵심 덤프 파일은 일부 플랫폼 (예 : BSD 시스템)에서 "핵심"대신 "wireshark.core"로 명명 될 수 있습니다. Wireshark 대신 Tshark가있는 코어 덤프를 가지고 있다면 "Tshark"를 디버거의 첫 번째 인수로 사용하십시오. 핵심 덤프의 이름은 "tshark.core"라고 할 수 있습니다.
Wireshark는 GNU GPLV2에 배포됩니다. 라이센스의 전체 텍스트는 복사 파일을 참조하십시오. 의심 할 여지없이 전체 텍스트가 법적 구속력이있는 부분입니다. 이 노트는 GPLV2에 익숙하지 않은 사람들에게 더 쉽게하기위한 것입니다.
사용에 대한 제한이 없습니다. 소스 또는 이진 형태의 분포에 제한이 있습니다.
Wireshark의 대부분은 "GPL 버전 2 이상"라이센스로 덮여 있습니다. 일부 파일에는 GPLV2와 호환되는 다른 라이센스가 포함됩니다.
예외적으로, Wireshark 소스와 함께 배포 된 일부 유틸리티는 GPLV2와 직접 호환되지 않는 다른 라이센스로 덮여 있습니다. 도구 자체만이 방법으로 라이센스를 부여하기 때문에 도구의 출력은 파생 된 작업으로 간주되지 않으므로 Wireshark의 사용에 대해 안전하게 라이센스를 부여 할 수 있습니다. 이러한 도구의 불완전한 선택에는 다음이 포함됩니다.
Wireshark의 일부는 라이브러리로 구축 및 배포 할 수 있습니다. 이 부분은 여전히 GPL에 의해 커버되며, 일반 공개 라이센스 또는 기타 라이센스가 적은 것이 아닙니다.
Wireshark의 전부 또는 일부를 자신의 응용 프로그램에 통합하고 귀하가이를 게시하거나 공개하기로 선택한 경우, 결합 된 작업은 GPLV2의 조건에 따라 공개되어야합니다.
이 제품과 관련하여 표현되거나 묵시적 인 보증은 없습니다. 자신의 위험에 사용하십시오.
Gerald Combs [email protected]
Gilbert Ramirez [email protected]
가이 해리스 [email protected]