·터미널 명령어

tcpdump

네트워크

쓰는 꼴

sudo tcpdump -i <if> -nn <filter>

회선을 지나는 패킷을 그대로 잡아 보여줍니다 — root가 필요하고, 무엇을 잡을지는 옵션이 아니라 뒤에 붙이는 자기만의 필터 문법(`port 443 and host x`)이며, 바쁜 인터페이스에서 필터 없이 잡으면 화면이 순식간에 파묻힙니다.

자주 쓰는 옵션

옵션
-i anyCapture on every interface; -i eth0 for just one.
-nnNo name and no port-number lookups, so nothing is guessed.
-c 100Stop after a hundred packets.
-w <file.pcap>Write raw packets to a file for Wireshark; -r reads one back.
-A / -XPrint payloads as text / as hex and text.
port 443 and host 10.0.0.5The filter, in its own pcap syntax, after the flags.
-s 0Full packets. Modern versions already do this by default.

예시

sudo tcpdump -i any -nn port 443 -c 20

Twenty HTTPS packets, then stop.

sudo tcpdump -i eth0 -w capture.pcap host 10.0.0.5

Record one host to a file and open it in Wireshark later.

sudo tcpdump -i any -nn -A "tcp port 80"

Read plain HTTP requests as they go past.

연결이 안 될 때 어디까지 갔는지 좁혀 갑니다 — 이름이 안 풀리는지, 길이 없는지, 포트가 막혔는지.

읽는 방법

  • 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
  • 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
  • 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.

자주 묻는 것

Q. tcpdump은 무엇을 하나요?

회선을 지나는 패킷을 그대로 잡아 보여줍니다 — root가 필요하고, 무엇을 잡을지는 옵션이 아니라 뒤에 붙이는 자기만의 필터 문법(`port 443 and host x`)이며, 바쁜 인터페이스에서 필터 없이 잡으면 화면이 순식간에 파묻힙니다.

Q. 어떻게 치나요?

sudo tcpdump -i <if> -nn <filter> — 대괄호는 생략할 수 있는 자리입니다.

Q. 옵션은 몇 개나 자주 쓰나요?

여기 정리한 것은 7개입니다. 전체 목록은 man tcpdump에 있습니다. 이 명령은 네트워크 갈래입니다.

같이 보는 명령

man 페이지: man tcpdump