[Network 명령] 패킷 점검하기: tcpdump, 패킷 추적: traceroute
tcpdump
tcpdump는 패킷을 캡쳐하여 분석할 때 사용한다.
$ tcpdump [option]
tcpdump는 패킷을 캡쳐하여 분석할 때 사용한다.$ tcpdump [option]| 옵션 | 설명 |
|---|---|
-c <패킷 수> | 지정한 패킷 수 만큼 덤프 받고 종료한다. |
-i <인터페이스> | 특정 인터페이스를 지정한다. |
-n | IP 주소를 호스트명으로 바꾸지 않는다. |
-q | 정보를 간단한 형태로 보여준다. |
-X | 패킷의 내용을 16진수와 ASCII로 출력한다. |
-w <파일 명> | 덤프한 내용을 지정한 파일 명에 저장한다. |
-r <파일 명> | 덤프를 저장한 파일에서 읽어온다. |
host <호스트명 | 주소> | 지정한 호스트가 받거나 보낸 패킷만 덤프한다. |
tcp port <PORT 번호> | 지정한 포트번호 패킷만 덤프한다. |
ip | ip 패킷만 덤프한다. |
-G | 초 단위로 파일이 순환생성 |
-W | 최대 파일 갯수 |
-z <권한을 줄 유저> | 덤프 파일에 지정한 유저 권한으로 생성(default: tcpdump) |
-C <파일 사이즈> | 지정한 파일 사이즈 만큼 덤프 write |
| 사용 예 | 설명 |
|---|---|
$ sudo tcpdump | - |
$ sudo tcpdump -i eth0 | - |
$ sudo tcpdump -i eth0 -w ./dump.out | - |
$ sudo tcpdump tcp port 22 and host 192.168.07 | - |
기본 사용
$ sudo tcpdump -c 3 -w tcpdump.out -Z $USER
1-1.$ sudo tcpdump: tcpdump 수행
1-2.-c 3: 패킷 주고 받는 것 3번만 수행
1-3.-w tcpdump.out:./tcpdump.out이름으로 덤프 내용을 작성
1-4.-Z $USER: 쉘 환경변수로 지정된 $USER 이름으로 dump file의 권한 부여

- 결과

port 지정해 dump
$ sudo tcpdump -c 3 -w dump.out tcp port 22 -Z $USER
1-1.$ sudo tcpdump: tcpdump 수행
1-2.-c 3: 패킷 주고 받는 것 3번만 수행
1-3.-w dump.out: 덤프 내용을./dump.out에 작성
1-4.tcp port 22: tcp port 22번만 캡쳐한다.
1-5.-Z $USER: 쉘 환경변수의 $USER 이름으로 dump file의 권한을 부여한다.

port와 host 지정해 dump
$ sudo tcpdump -c 3 -w dump.out tcp port 22 and host 192.168.0.13 -Z $USER
1-1.$ sudo tcpdump: tcpdump 수행
1-2.-c 3: 패킷 주고 받는 것 3번만 수행
1-3.-w dump.out: 덤프 내용을./dump.out에 작성
1-4.tcp port 22: tcp port 22번만 캡쳐한다.
1-4와 1-5는and조건
1-5.host 192.168.0.13: host 192.168.0.13만 캡쳐한다.
1-6.-Z $USER: 쉘 환경변수의 $USER 이름으로 dump file의 권한을 부여한다.

interface 지정해 dump
$ sudo tcpdump -i eth1
1-1.$ sudo tcpdump: tcpdump 수행
1-2.-i eth1:-i옵션으로eth1인터페이스에 대해서만, dump 수행

dumpfile 읽기
$ tcpdump -r ./tcpdump.out
1-1.$ tcpdump -r <파일>: 지정한 '파일'을 human-readable 하게 읽어올 수 있다.

dumpfile 16진수, ASCII 읽기
$ tcpdump -Xr tcpdump.out
1-1.$ tcpdump: tcpdump 명령 수행
1-2.-X: 16진수, ASCII로
1-3.-r tcpdump.out: 읽는다.tcpdump.out파일을

traceroute
$ traceroute 명령은 지정한 Host에 어떤 경로를 거치는지 확인
$ traceroute [option] <Host | IP>
사용 예:
$ traceroute www.google.com
$ traceroute 명령은 지정한 Host에 어떤 경로를 거치는지 확인$ traceroute [option] <Host | IP>
사용 예:
$ traceroute www.google.com| option | description |
|---|---|
-F | ip패킷을 분할하지 않는다. |
-g | 게이트웨이. 경유하는 게이트웨이를 지정한다. (최대 8 서버 지정가능) |
-I | icmp echo 이용 |
-T | TCP SYN을 이용 |
-m <최대값> | 경유하는 최대 host 수를 지정 |
-n | host명을 해결하지 않고 IP주소로 표시 |
-p <PORT> | 이용하는 port 지정 |
-r | routing table 무시 |
-s <IP 주소> | 지정한 IP주소에서 경로를 조사 |
-w <시간> | time out 시간 지정 |
-x | icmp를 checksum으로 평가 |
-z <시간> | 경로를 체크하는 시간 간격 지정 |
Author And Source
이 문제에 관하여([Network 명령] 패킷 점검하기: tcpdump, 패킷 추적: traceroute), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@markyang92/Network-명령-패킷-점검하기-tcpdump저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)