본문으로 바로가기

- telnet 패킷 분석

( win2008 ) -----> ( linux200 ) telnet 23

- Tree-way handshake 확인


( win 2008 )

 wireshark 실행

c:\> telnet 192.168.27.200

root/security1.


wireshark 확인

> 201번(49162포트 번호로) 서버가 200번(23번 포트번호로) 서버에게 SYN 신호를 줍니다. Seq=0 

> 200번 서버가 201번서버에게 SYN,ACK 신호로 응답합니다. Seq=0 Ack=1 ( 0+1)

> 201번 서버가 200번 서버에게 ACK 신호로 응답합니다. Seq=1 Ack=1 ( 0 +1 )

 

> 아래쪽 Telnet Data 를 오른쪽 클릭해서 Follow TCP Stream 을 클릭하면 주고받은 데이터를 한눈에 볼수 있다. 

> 파란색이 서버( linux200 )로 부터 받은것이고 빨간색이 클라이언트( win2008 )가 보낸 것이다. 

> 비밀번호가 한번 틀렸고, 아이디는 echo로 눈에 보이지만 비밀번호는 서버쪽에서 echo 신호를 안줘서 보이지 않는다. 


- ftp 패킷 분석하기 

( win2008 ) -----> ( linux200 ) vsftp 21, 20 


( win2008 )

test 폴더를 만들고 안에 아무 파일이나 1111이름으로 만들어 확인한다. 


wireshark 실행

c:\> ftp 192.168.27.200

> cd /root

> lcd c:\test

> bin

> hash

> prompt

> mput 1111*

> quit


> 마찬가지로 Tree-way handshake 과정을 거칩니다.

> ftp는 USER root 와  PASS security1. 이 다 잡힙니다. 


> follow TCP Stream을 보면 STOR 1111.txt로 1111.exe 파일을 서버로 올렸다는것을 확인할 수 있습니다. 



> STOR 1111.exe 를 찾아서 아래 패킷들을 확인해 보면 21번 포트에서 20번 포트로 옮겨졌다는것을 알 수 있습니다. 

> 그리고 201번에서 200번서버로 데이터를 보내고 200번 서버에서 ACK신호를 몇개씩 보냅니다. 

> 200번 서버에서 처리할 수 있는 양만큼 보내고 처리가 되면 ACK신호를 보냅니다. 


[참고] Active Mode & Passive Mode 설명

FTP 전송 모드

Active Mode(Non-passive Mode)  : 데이터 전송시 20번 포트 사용

Passive Mode : 데이터 사용시 S에서 port 정해서 알려줌. 1024 이상 번호  ( 데이터 사용시 마다 port 번호 알려줌)

active/passive mode의 선택은 ftp client가 설정한다.


[실무예] 

 FTP 서비스를 방화벽 관리하는 분에게 요청할때 20 /21번 모두 열어달라고 한다. 

만약 그냥 FTP 서비스를 열어달라고 할시 21번 포트만 열어줄 수가 있다. 이렇게 되면 FTP 접속은 되지만 아무것도 보이지 않을 수 있다. 

FTP 서비스를 21번 포트만 열고 클라이언트에게 Passive Mode로 접속해 달라고 요청한다. 

방화벽에서도 모든 포트를 닫고 있지는 않고 특히 클라이언트가 사용해야하는 포트는 닫지 않고 있기 때문에 Passive Mode로 다른 포트를 사용하면 통신이 가능할 것이다. 


- ssh 패킷 분석

( win2008 )  putty --------> ( linux200 ) sshd 22

암호화된 형태의 패킷 분석


( win 2008 )

putty 설치

wireshark 실행

> putty 22번 포트로 200번 서버에 ssh 접속을 합니다. 


> 마찬가지로 Tree-way handshake 과정을 거치고 telnet과 ftp와는 다르게 Key 값을 주고 받습니다. 


> Data를 주고 받은 패킷중 하나를 열어보니 데이터가 암호화 된것을 확인할 수 있습니다. 

> TCP나 IP 해더는 암호화 되지 않은것도 추가적으로 확인할 수 있는대 ssh는 데이터만을 암호화합니다. 

> Ethernet 해더나 IP 해더 경우 전송중에 거치는 스위치나 라우터들고 읽고 해석해서 다음 경로로 전달해야하기 때문에 암호화 하지 않습니다.

물론 암호화할수는 있으나 그렇다면 전송중 거치는 장비들또한 이러한 암호문을 해석할 수 있는 기능을 가져야합니다. ( 매우 비쌈 )


> follow TCP Stream 으로 보아도 데이터가 암호화 전송을 했다는 것을 알수 있습니다. 


- WEB 패킷 분석

( win2008 ) Web Browser  ------> ( linux200 ) httpd 80


( linux200 )

# cd /var/www/html

# vi index.html

 

 <html>

<head>

<title> hello world </title>

</head>

<body>

<center><h1> Hi linux200 </h1></center>

</body>

</html>

 


# telnet localhost 80

> GET

- index.html 소스가 보인다면 서비스 되고 있다는것을 의미합니다. 

 # service httpd restart


( win2008 )

wireshark로 패킷을 잡기 시작하고 웹 브라우저로 http://192.168.27.200 으로 접속한후 패킷을 분석합니다. 

> 201번 서버가 200번 서버에게 GET으로 요청합니다.

> 200번 서버가 201번 서버에게 위와같은 코드를 준것으로 보입니다.


이번에는 https://192.168.27.200 으로 접속합니다. 

 



> 고급의 안전하지 않은 방법으로 들어갑니다. 


wireshark 에서 ssl로 검색합니다. ( ssl == tlsv1 ) /* wireshark의 버전 차이 */


> Applicaton Data를 보면 Data가 주고 받은 것을 확인할 수 있습니다.

> http 와 달리 https는 페이지의 소스코드가 보이지 않습니다. ( 암호화 하여 전송 )

'Security > Network Security' 카테고리의 다른 글

DoS(Denial of Service) Attack Type  (0) 2017.10.21
hping3 명령어 사용하기  (0) 2017.10.21
Port 번호 체계  (0) 2017.10.19
UDP 패킷 분석  (0) 2017.10.19
TCP 패킷 분석  (0) 2017.10.19