[정보보호] tcpdump 사용법

Tcpdump는 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력해주는 프로그램

  • 사용법

tcpdump [options] [expression] [host]

  • OPTION

-i device : 어느 인터페이스를 경유하는 패킷들을 잡을지 지정한다.
지정되지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호를 가진 인터페이스를 선택한다(이 때 loopback은 제외된다).

-w : 캡춰한 패킷들을 분석해서 출력하는 대신에 그대로 파일에 저장한다.

-c number : 제시된 수의 패킷을 받은 후 종료한다.(캡쳐할 개수)

-s length: 패킷들로부터 추출하는 샘플을 default값인 68 byte외의 값으로 설정할 때 사용한다

 
more
  • Packet Flag

S : SYN – 연결요청
F : FIN – 연결종료요청
R : RST – 즉시연결종료
P : PSH – 프로세스로 데이터전송
U : URG – 긴급한 데이터에 데이터전송 우선순위를 할당.
. : flag가 설정되지 않았음.

 
Detail
  • Example

# tcpdump -i eth0 => 인터페이스 eth0 을 보여줌
# tcpdump -w tcpdump.log => 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨
# tcpdump -r tcpdump.log => 저장한 파일을 읽음
# tcpdump -i eth0 -c 10 => 카운터 10개만 보여줌
# tcpdump -i eth0 tcp port 80 => tcp 80 포트로 통신하는 패킷 보여줌
# tcpdump -i eth0 src 192.168.0.1 => source ip 가 192.168.0.1인 패킷 보여줌
# tcpdump -i eth0 dst 192.168.0.1 => destination ip 가 192.168.0.1인 패킷 보여줌

* and 옵션으로 여러가지 조건의 조합 가능
# tcpdump -i eth0 src 192.168.0.1 and tcp port 80 => source ip 가 192.168.0.1이면서 tcp port 80 인 패킷 보여줌

# tcpdump -i eth0 dst 192.168.0.1 => dest ip 가 192.168.0.1인 패킷 보여줌
# tcpdump host 192.168.0.1 => host 를 지정하면, 이 ip 로 들어오거가 나가는 양방향 패킷 모두 보여줌
# tcpdump src 192.168.0.1 => host 중에서 src 가 192.168.0.1인것 만 지정
# tcpdump dst 192.168.0.1 => host 중에서 dst 가 192.168.0.1인것 만 지정
# tcpdump net 192.168.0.1/24 => CIDR 포맷으로 지정할 수 있다.
# tcpdump tcp => TCP 인것만
# tcpdump udp => UDP 인것만
# tcpdump port 3389 => 포트 양뱡항으로 3389인 것.
# tcpdump src port 3389 => src 포트가 3389인 것.
# tcpdump dst port 3389 => dst 포트가 3389인 것.

* combine : and ( && ) , or ( || ) , not ( ! ) 으로 여러가지를 조합해서 사용 가능
# tcpdump udp and src port 53 => UDP 이고 src 포트가 53 인 것
# tcpdump src x.x.x.x and not dst port 22 => src ip 가 x.x.x.x 이고 dst 포트가 22 가 아닌 것

* grouping : ( )
# tcpdump ‘src x.x.x.x and ( dst port 3389 or 22 )’ => src ip 가 x.x.x.x 이고 ( dst 포트가 3389 또는 22 ) 인 것 ==> 여기서는 ‘ ‘ 가 반드시 있어야 한다.

 

<ins class="adsbygoogle" style="BOX-SIZING: border-box; DISPLAY: block" data-adsbygoogle-status="done" data-ad-format="auto" data-ad-slot="4798023591" data-ad-client="ca-pub-3544619478364829"></ins>

 

 

 

[root@ora11g ~]# tcpdump -i eth1 tcp port 1521
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
15:37:11.002822 IP 192.168.80.1.57492 > ora11g.ncube-lm: Flags [P.], seq 2707676259:2707676272, ack 711837199, win 16267, length 13
15:37:11.005072 IP ora11g.ncube-lm > 192.168.80.1.57492: Flags [P.], seq 1:18, ack 13, win 330, length 17
15:37:11.006876 IP 192.168.80.1.57492 > ora11g.ncube-lm: Flags [P.], seq 13:23, ack 18, win 16263, length 10
15:37:11.006918 IP 192.168.80.1.57492 > ora11g.ncube-lm: Flags [F.], seq 23, ack 18, win 16263, length 0
15:37:11.007287 IP ora11g.ncube-lm > 192.168.80.1.57492: Flags [F.], seq 18, ack 24, win 330, length 0
15:37:11.007452 IP 192.168.80.1.57492 > ora11g.ncube-lm: Flags [.], ack 19, win 16263, length 0
15:37:15.958890 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [S], seq 3034269716, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
15:37:15.958966 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [S.], seq 3955685331, ack 3034269717, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:37:15.959247 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [.], ack 1, win 16425, length 0
15:37:15.974191 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 1:278, ack 1, win 16425, length 277
15:37:15.974223 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [.], ack 278, win 123, length 0
15:37:15.994472 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 1:9, ack 278, win 123, length 8
15:37:15.996047 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 278:555, ack 9, win 16423, length 277
15:37:15.996199 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 9:41, ack 555, win 131, length 32
15:37:15.997024 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 555:728, ack 41, win 16415, length 173
15:37:15.997253 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 41:168, ack 728, win 140, length 127
15:37:16.001057 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 728:767, ack 168, win 16383, length 39
15:37:16.001195 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 168:406, ack 767, win 140, length 238
15:37:16.020122 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 767:3434, ack 406, win 16323, length 2667
15:37:16.020195 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [.], ack 3434, win 181, length 0
15:37:16.020646 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [.], seq 406:1866, ack 3434, win 181, length 1460
15:37:16.020890 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 1866:2922, ack 3434, win 181, length 1056
15:37:16.020975 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [.], ack 2922, win 16425, length 0
15:37:16.022058 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 3434:3677, ack 2922, win 16425, length 243
15:37:16.026499 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 2922:3242, ack 3677, win 204, length 320
15:37:16.033063 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 3677:5034, ack 3242, win 16345, length 1357
15:37:16.042150 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 3242:4334, ack 5034, win 227, length 1092
15:37:16.057097 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 5034:5090, ack 4334, win 16072, length 56
15:37:16.057955 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 4334:4416, ack 5090, win 227, length 82
15:37:16.059040 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 5090:5350, ack 4416, win 16425, length 260
15:37:16.060198 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 4416:5055, ack 5350, win 250, length 639
15:37:16.061010 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 5350:5371, ack 5055, win 16265, length 21
15:37:16.061276 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 5055:5170, ack 5371, win 250, length 115
15:37:16.062241 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 5371:5659, ack 5170, win 16236, length 288
15:37:16.067767 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 5170:5281, ack 5659, win 273, length 111
15:37:16.069123 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 5659:6070, ack 5281, win 16208, length 411
15:37:16.074190 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 5281:5797, ack 6070, win 295, length 516
15:37:16.075083 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 6070:6504, ack 5797, win 16079, length 434
15:37:16.076056 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 5797:6076, ack 6504, win 318, length 279
15:37:16.077026 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 6504:6854, ack 6076, win 16425, length 350
15:37:16.079341 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 6076:6210, ack 6854, win 330, length 134
15:37:16.080004 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 6854:7180, ack 6210, win 16391, length 326
15:37:16.080598 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 6210:6527, ack 7180, win 330, length 317
15:37:16.081994 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 7180:7212, ack 6527, win 16312, length 32
15:37:16.082122 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 6527:6544, ack 7212, win 330, length 17
15:37:16.082990 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [P.], seq 7212:7225, ack 6544, win 16308, length 13
15:37:16.083094 IP ora11g.ncube-lm > 192.168.80.1.60786: Flags [P.], seq 6544:6561, ack 7225, win 330, length 17
15:37:16.287993 IP 192.168.80.1.60786 > ora11g.ncube-lm: Flags [.], ack 6561, win 16303, length 0

 

 

ㅁ 각종 예제

 

# tcpdump -i eth0 => 인터페이스 eth0 을 보여줌

# tcpdump -w tcpdump.log => 결과를 파일로 저장, txt 가 아닌 bin 형식으로 저장됨

# tcpdump -r tcpdump.log => 저장한 파일을 읽음

# tcpdump -i eth0 -c 10 => 카운터 10개만 보여줌

# tcpdump -i eth0 tcp port 80 => tcp 80 포트로 통신하는 패킷 보여줌

# tcpdump -i eth0 tcp port 80 => tcp 80 포트로 통신하는 패킷 보여줌

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

# tcpdump -i eth0 src 192.168.0.1 => source ip 가 이것인 패킷 보여줌

# tcpdump -i eth0 dst 192.168.0.1 => dest ip 가 이것인 패킷 보여줌

 

* and 옵션으로 여러가지 조건의 조합 가능

# tcpdump -i eth0 src 192.168.0.1 and tcp port 80 => source ip 가 이것이면서 tcp port 80 인 패킷 보여줌

 

# tcpdump -i eth0 dst 192.168.0.1 => dest ip 가 이것인 패킷 보여줌

# tcpdump host 192.168.0.1 => host 를 지정하면, 이 ip 로 들어오거가 나가는 양방향 패킷 모두 보여줌

# tcpdump src 192.168.0.1 => host 중에서 src 가 이것인것 만 지정

# tcpdump dst 192.168.0.1 => host 중에서 dst 가 이것인것 만 지정

# tcpdump net 192.168.0.1/24 => CIDR 포맷으로 지정할 수 있다.

# tcpdump tcp => TCP 인것만

# tcpdump udp => UDP 인것만

# tcpdump port 3389 => 포트 양뱡항으로 이것인 것.

# tcpdump src port 3389 => src 포트가 이것인 것.

# tcpdump dst port 3389 => dst 포트가 이것인 것.

 

* combine : and ( && ) , or ( || ) , not ( ! ) 으로 여러가지를 조합해서 사용 가능

# tcpdump udp and src port 53 => UDP 이고 src 포트가 53 인 것

# tcpdump src x.x.x.x and not dst port 22 => src ip 가 x.x.x.x 이고 dst 포트가 22 가 아닌 것

 

* grouping : ( )

# tcpdump 'src x.x.x.x and ( dst port 3389 or 22 )' => src ip 가 x.x.x.x 이고 ( dst 포트가 3389 또는 22 ) 인 것  ==> 여기서는 ' ' 가 반드시 있어야 한다.

 

[출처] https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hanajava&logNo=221004225619

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 침투테스트(취약점검점검, 모의해킹) 문의 / 답변 졸리운_곰 2017.12.10 28360
43 [정보보호] 리눅스 tcpdump 사용방법 및 명령어 정리 / tcpdump 파일로 저장하는 방법 file 졸리운_곰 2023.08.02 175
42 [정보보호] [리눅스/Linux] tcpdump 사용법 졸리운_곰 2023.08.02 139
» [정보보호] tcpdump 사용법 졸리운_곰 2023.08.02 113
40 [정보보호] '전문가들이 추천한' 네트워크·보안 리눅스 툴 10선 file 졸리운_곰 2023.07.30 228
39 [정보보호] NPcap과 WinPcap 모두 설치하기 졸리운_곰 2023.07.30 161
38 [정보보호] 와이어샤크(Wireshark) 사용법 #6 [Meta 데이터 추출] file 졸리운_곰 2023.07.30 189
37 [정보보호] 와이어샤크(Wireshark) 사용법 #5 [Host 정보 조회] file 졸리운_곰 2023.07.30 111
36 [정보보호] 와이어샤크(Wireshark) 사용법 #4 [필드 항목 설정] file 졸리운_곰 2023.07.30 87
35 [정보보호] 와이어샤크(Wireshark) 사용법 #3 [필터링] file 졸리운_곰 2023.07.30 127
34 [정보보호] 와이어샤크(Wireshark) 사용법 #2 [인터페이스] file 졸리운_곰 2023.07.30 103
33 [정보보호] 와이어샤크(Wireshark) 사용법 #1 [설치] file 졸리운_곰 2023.07.30 87
32 [정보보호] [2023 디도스 대응 리포트] 디도스 융단폭격에 기업·기관 ‘휘청’ file 졸리운_곰 2023.07.28 58
31 산업보안관리사 요약집입니다. (제가 작년 시험볼때 요약했던것) file 졸리운_곰 2017.11.08 835
30 •산업보안관리사 및 자격증 소개 및 자격시험 예시문제 file 졸리운_곰 2017.11.08 519
29 인공지능으로 공격하고 인공지능으로 막는다, 보안 전문가와 같은 인공지능을 만들기 위한 방법 file 졸리운_곰 2017.09.10 231
28 코드 코딩 난독화 : 가상머신 랭귀지(JavaVM, CLR ms, Python)의 필수 덕목 file 졸리운_곰 2017.07.01 414
27 소프트웨어 개발보안(시큐어 코딩) 관련 가이드 file 졸리운_곰 2017.02.11 406
26 개인정보취급방침 만들기를 도와주는 웹사이트 file 졸리운_곰 2017.02.10 158
25 모바일 앱 개발과정에서 참고해야 할 프라이버시 보호 수칙 졸리운_곰 2017.02.10 215
24 Detection and Visualization of Android Malware Behavior 졸리운_곰 2016.04.30 372
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED