network 4

서버 관리자를 위한 TCP 지식 - SYN_SENT, ESTABLISHED, TIME_WAIT

TCP 가 뭔가요? 라고 누군가가 묻는다면 3 way handshaking 으로 연결을 맺고 송신 데이터에 대해 잘 받았다는 응답을 전달함으로써 신뢰성있는 전송이 가능한 프로토콜이다. 정도는 대답할 수 있을 겁니다. 서버 관리자에는 이 정도 지식으로는 제대로 된 서버 관리가 어렵습니다. 이번 포스팅에서는 TCP 프로토콜에서 서버 관리자에게 꼭 필요한 부분만 골라서 알아보겠습니다. TCP Status 위 그림만 보니 머리가 아픈 분이 계실겁니다. 모두 알 필요는 없으니 벌써 포기하지 맙시다. 우선 각 영역에 대해 알아봅시다. connect(), bind(), listen() 처럼 괄호가 있는 부분은 시스템콜 함수를 나타냅니다. C언어를 사용해봤다면 socket 통신시 connect(), bind(), se..

network 2022.07.02

서버 관리자를 위한 network 지식- netstat

8080 포트로 서버로 접속하려고 하면 timeout 오류가 납니다. 서버 살아있는거 맞나요? 접속이 되었다가 안되었다가 합니다. 뭐가 문제죠? 서버 관리자라면 위와 같은 질문을 종종 받게 됩니다. 여러분은 이때 어떤 일을 하시나요? 저는 가장 먼저 netstat 명령어를 이용해서 네트워크 상태부터 확인하길 권장 드립니다. netstat 은 network status 확인용 명령어라고 생각하면 됩니다. 약간의 옵션이 다르긴 합니다만 window와 linux 모두 netstat 사용이 가능하며, 여기서는 리눅스 환경을 기준으로 설명드리겠습니다. 뒤에 윈도우와의 차이점 약간 설명하겠니다. 기본 지식 우선 리눅스서버에 접속해서 좀 더 자세히 살펴보겠습니다. netstat 이라는 명령어로 네트워크 상태를 알수 ..

network 2022.06.27

초보자를 위한 HTTPS, SNI, 서버인증서, SSL Proxy

INTRO 많은 회사에서 외부(=인터넷)와 주고 받는 트래픽을 모니터링하고 있습니다. 그래서 종종 "사내 자료를 외부로 이메일 전송하다 적발" 이런식의 보안사고(?) 공지사항이 올라올때가 있습니다. SSL(=TLS)을 이용하지 않을 경우 어떤 내용을 외부로 업로드 했는지 알 수가 있습니다. 보통 사내 -> 사외 로 나가는 구간의 트래픽을 모니터링하면 되니까요. 그런데 SSL 즉 암호화 통신을 하는 경우 트래픽을 모니터링 해봤자 그 내용을 알 수가 없습니다. 암호화된 내용을 복호화할 수 있는 key 가 없기 때문이죠. 그래서 https://mail.naver.com/ 과 같이 이메일 사이트 자체를 접근하지 못하도록 하기도 합니다. SSL 위에 HTTP 가 올라가므로 mail.naver.com 이라는 도메인..

network 2022.06.26

네트워크계의 CCTV - wireshark 로 network trouble shooting 한방에 끝내기

youtube 영상 화면조작이 많기에 영상버전 시청을 권장합니다. https://youtu.be/v7vAoqGXe8I https://youtu.be/H1SdVrBKccw 네트워크 관련 흔히 접하는 문제들 "TCP 3 way handshake 는 3개의 패킷을 주고 받으면서 통신을 셋업한다" 와 같은 말이나 그림을 보면 적당히 이해는 가지만 완전히 내것으로 만들기가 어렵습니다. 패킷은 눈에 보이지 않으니까요. => 아닙니다! #wireshark 라는 툴을 이용하면 오고 가는 패킷들을 눈으로 볼 수 있습니다. ​ "양쪽에서 통신을 하다가 몇분 지나면 연결이 끊어집니다. client, server 중 어느쪽이 연결 끊기를 시도한건지 알수가 없네요" => wireshark 를 이용하면 연결 끊어진 시점에 어떤 ..

network 2022.06.25