티스토리 뷰
포렌식에는 여러 종류가 있다.
네트워크 포렌식,디스크 포렌식,모바일 포렌식, 시스템 포렌식,암호학 포렌식 등등...
이 중 네트워크 포렌식에 대해 공부해 보려고 한다.
포렌식을 공부하기 전에 먼저 와이어 샤크 패킷 필터링을 하는 방법을 먼저 알아보장.
http 통신을 구축해 패킷을 알아보자.
환경 구축은 내 pc와 서버 사이의 통신이다.
내 PC 서버
IP : 192.168.0.12 IP : 18.216.189.232
wireshark를 키고
연결되어 있는 인터페이스를 클릭한다.
wifi:en0를 쓰고 있으니 저걸 클릭 하면 패킷들이 오고가는게 보인다.
근데 현재 저 wifi상에서 오고가는 모든 패킷들이 보이기 때문에 필터링을 사용해 내가 원하는 것만 봐야한다.
먼저 내가 http프로토콜로 서버에 접속했을 때의 패킷을 확인해보자.
내PC에서
18.216.189.232로 접속한다.
그럼 wireshark에 흔적이 남았겠지.
다음 필터링 문구를 통해 필터링해보자.
ip.src == 192.168.0.12 && ip.dst == 18.216.189.232 && tcp.port == 80
ip.src는 보내는 쪽 ip이고 ip.dst는 받는 쪽의 ip이다. tcp.port는 tcp프로토콜의 80번 포트를 사용한 것을 필터링한 것이다.
이런 필터링 문구는 wireshark에서 아무 패킷에 들어간 후, 보고싶은 프로토콜에 들어가서 알고싶은 정보를 클릭하면 좌측하단에 문구가 나온다.
예를 들어 ip의 프로토콜을 보고싶은데 문구를 모른다 하면
IP 프로토콜을 클릭하면 좌측하단에 (ip.proto)라고 작게 나온다.
그래서 위 문구를 입력해 필터링 해보면 많은 패킷이 오고갔다.
여기에는 3way handshaking 까지 포함되어 있다.
syn과 ack가 포함되어 있다.
여기서 syn을 보낸 패킷이 보고 싶다면
ip.src == 192.168.0.12 && ip.dst == 18.216.189.232 && tcp.port == 80 && tcp.flags == 0x02
를 필터링하면 된다.
tcp.flags는 tcp프로토콜에서 쓰이는 flag다.
자리 수에 따라 포함하고 있는 내용이 다르다.
syn은 이진수로 10 즉, 16진수로 0x02 값이다.
ack는 이진수로 10001 즉,16진수로 0x12 값이다.
그럼 syn+ack는 그냥 syn과ack를 더한 값 0x14이다.
여기까지가 필터링의 끝이다.
이 이후로 찾고 싶은 정보가 있으면 정보창에서 하나씩 찾아보면 된다.
'네트워크' 카테고리의 다른 글
무선 LAN (0) | 2020.10.12 |
---|---|
VPN (0) | 2020.10.12 |
snort rules (0) | 2020.10.12 |
침입탐지 시스템(IDS) (0) | 2020.10.06 |
syn flooding,icmp land attack,ping of death (0) | 2020.08.12 |
- Total
- Today
- Yesterday
- one-to-many
- AE
- many-to-one
- automotive
- SVM
- problem statement
- 차량 네트워크
- json2html
- Ethernet
- 딥러닝
- AVTP
- HTML
- 크로스 엔트로피
- 차량용 이더넷
- PCA
- SOME/IP
- many-to-many
- 이상탐지
- 단순선형회귀
- 로지스틱회귀
- cuckoo
- CAN-FD
- 회귀
- Python
- AVB
- automotive ethernet
- 머신러닝
- porks
- 논문 잘 쓰는법
- 케라스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |