tcpdump
tcpdump이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2010년 9월) (이 템플릿 과 시기 |
![]() | |
![]() tcpdump 콘솔 출력 | |
개발자 | Tcpdump 팀 |
---|---|
초기 릴리즈 | 1988 |
안정적 해제 | 4.99.0 / 2020년 12월 30일;[1] 전 |
리포지토리 | GitHub의 tcpdump |
기록 위치 | C(프로그래밍 언어) |
운영 체제 | Linux, Solaris, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, MacOS, Android 및 추가 *NIX 시스템, Windows |
유형 | 패킷 분석기 |
면허증 | BSD 라이선스[2] |
웹사이트 | www |
tcpdump는 명령줄 인터페이스로 실행되는 데이터 네트워크 패킷 분석기 컴퓨터 프로그램이다. 사용자가 컴퓨터가 연결된 네트워크를 통해 송신 또는 수신되고 있는 TCP/IP 및 기타 패킷을 표시할 수 있다.[3] BSD 라이선스에 따라 배포되는 [4]tcpdump는 무료 소프트웨어다.
Tcpdump는 리눅스, Solaris, FreeBSD, DragonFly BSD, NetBSD, OpenBSD, OpenWrt, MacOS, HP-UX 11i, AIX 등 대부분의 유닉스 유사 운영 체제에서 작동한다. 이러한 시스템에서 tcpdump는 패킷을 캡처하기 위해 libpcap 라이브러리를 사용한다. 윈도우즈용 tcpdump 포트를 WinDump라고 하며, libpcap의 윈도우즈 버전인 WinPcap을 사용한다.
역사
tcpdump는 원래 1988년에 Lawrence Berkeley Laboratory Network Research 그룹에서 일했던 Van Jacobson, Sally Floyd, Vern Paxson, Steven McCanne에 의해 쓰여졌다.[5] 1990년대 후반까지 다양한 운영체제의 일부로 배포된 수많은 버전의 tcpdump와 잘 조정되지 않은 수많은 패치가 있었다. 마이클 리처드슨(mcr)과 빌 페너는 1999년 www.tcpdump.org을 만들었다.
공통 용법
tcpdump 네트워크 패킷의 내용을 인쇄한다. 그것은 네트워크 인터페이스 카드나 이전에 저장된 패킷 파일에서 패킷을 읽을 수 있다. tcpdump는 표준 출력물이나 파일에 패킷을 쓸 수 있다.
다른 사용자나 컴퓨터의 통신을 가로채서 표시하는 특정한 목적으로 tcpdump를 사용하는 것도 가능하다. 텔넷 또는 HTTP와 같은 암호화되지 않은 트래픽이 통과하는 라우터 또는 게이트웨이로 작동하는 시스템에 필요한 권한을 가진 사용자는 tcpdump를 사용하여 로그인 ID, 암호, 보고 있는 웹 사이트의 URL 및 내용 또는 기타 암호화되지 않은 정보를 볼 수 있다.
사용자는 선택적으로 TCPdump에 표시되는 패킷 수를 제한하기 위해 BPF 기반 필터를 적용할 수 있다. 이는 트래픽 양이 많은 네트워크에서 출력을 더 사용할 수 있게 한다.
리눅스 시스템에서 사용 가능한 캡처 인터페이스의 예:
$ tcpdump -D 1.eth0 [Up, Running, Connected] 2.any (Pseudo-device that captures on all interfaces) [Up, Running] 3.lo [Up, Running, Loopback] 4.bluetooth-monitor (Bluetooth Linux Monitor) [Wireless] 5.usbmon2 (Raw USB traffic, bus number 2) 6.usbmon1 (Raw USB traffic, bus number 1) 7.usbmon0 (Raw USB traffic, all USB buses) [none] 8.nflog (Linux netfilter log (NFLOG) interface) [none] 9.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none] 10.dbus-system (D-Bus system bus) [none] 11.dbus-session (D-Bus session bus) [none] 12.bluetooth0 (Bluetooth adapter number 0) 13.eth1 [none, Disconnected]
필요한 권한
일부 Unix와 유사한 운영 체제에서는 사용자가 tcpdump를 사용하려면 수퍼유저 권한을 가지고 있어야 하는데, 이러한 시스템의 패킷 캡처 메커니즘에는 상승된 권한이 필요하기 때문이다. 그러나 캡처가 설정된 후에는 권한 없는 특정 사용자에게 권한을 삭제하는 데 -Z 옵션을 사용할 수 있다. 다른 유닉스 유사 운영 체제에서는 권한 없는 사용자가 패킷 캡처 메커니즘을 사용할 수 있도록 구성할 수 있으며, 그렇게 하면 슈퍼 유저 권한이 필요하지 않다.
참고 항목
- Tcpdump에서 생성된 로그를 분석하는 도구인 Tcptrace
- 트래픽 스니핑에 의존하는 네트워크 매핑 도구인 EtherApe
- 네트워크 패킷 페이로드 내의 정규식을 일치시킬 수 있는 도구인 Ngrep
- 무료 Linux 네트워킹 툴킷인 netsniff-ng
- Tcpdump를 대체하는 GUI 기반 Wireshark
참조
- ^ "tcpdump and libpcap latest release". The Tcpdump Group. Retrieved 2020-12-30.
- ^ "tcpdump and libpcap license". The Tcpdump Group. Retrieved 2012-04-13.
- ^ Amoedo, Damián (8 April 2018). "Tcpdump, conoce el tráfico de una interfaz de red desde la terminal". Ubunlog (in Spanish). Archived from the original on 9 April 2018. Retrieved 9 April 2018.
Esta herramienta nos va a permitir ver información sobre el tráfico que entra y sale de una interfaz de red determinada. Se trata de una herramienta de diagnóstico que nos va a permitir ver la información de los paquetes. Esta información será de donde provienen los paquetes entrantes y hacia donde se dirigen los paquetes salientes, aportando algo de información adicional. Incluso podremos guardar el resultado en un archivo para echarle un vistazo en otro momento.
- ^ "LICENSE file from source code (public GIT repository)".
- ^ McCanne, Steve (13 June 2011). "libpcap: An Architecture and Optimization Methodology for Packet Capture - Sharkfest 2011" (PDF). SharkFest. Retrieved 6 August 2017.