tcpdump
네트워크
쓰는 꼴
sudo tcpdump -i <if> -nn <filter>회선을 지나는 패킷을 그대로 잡아 보여줍니다 — root가 필요하고, 무엇을 잡을지는 옵션이 아니라 뒤에 붙이는 자기만의 필터 문법(`port 443 and host x`)이며, 바쁜 인터페이스에서 필터 없이 잡으면 화면이 순식간에 파묻힙니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| -i any | Capture on every interface; -i eth0 for just one. |
| -nn | No name and no port-number lookups, so nothing is guessed. |
| -c 100 | Stop after a hundred packets. |
| -w <file.pcap> | Write raw packets to a file for Wireshark; -r reads one back. |
| -A / -X | Print payloads as text / as hex and text. |
| port 443 and host 10.0.0.5 | The filter, in its own pcap syntax, after the flags. |
| -s 0 | Full packets. Modern versions already do this by default. |
예시
sudo tcpdump -i any -nn port 443 -c 20Twenty HTTPS packets, then stop.
sudo tcpdump -i eth0 -w capture.pcap host 10.0.0.5Record 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