리눅스에서 특정 서버의 포트가 열려있는지 확인해야할 때 보통 네트워크 스캐닝 도구 nmap을 사용한다. nmap은 네트워크 스캔 및 보안 감사에 사용되는 오픈소스 도구로서 특정 IP 주소의 특정 포트가 열려있는지 확인하는데 유용하다. 하지만 원격 서버 관리자의 허락없이 네트워크 스캔을 수행하는 것은 법적으로 문제가 될 수있으므로 사전에 허락을 맡아야한다. 1. nmap 설치 sudo apt-get install nmap 2. nmap -p 20022 형태로 명령어 실행 nmap -p 20022 172.3.2.10 위 명령어는 172.3.2.10 ip 주소에 20022번 포트가 개방되어있는지 확인할 수 있다. 결과는 아래와 같이 나타날 수 있는데 Starting Nmap ( https://nmap.org ..
SSL? TLS? 무슨 차이일까? : Transport Layer Security vs Secure Sockets Layer 결론은 둘다 같은 말이다. 2023년 현재는 지원이 종료된 익스플로러가 개발되기 이전에 모자이크 웹브라우저를 개발했던 미국의 인터넷 소프트웨어 및 통신 산업을 하는 넷스케이프라는 회사에 의해서 SSL이 발명되었고 이것이 점차 폭넓게 사용되다가 표준화 기구인 IETF에 의해서 TLS라는 이름으로 바뀌게 되었다. 처음에는 TLS와 SSL이 다른건가? 뭔차이지? 하는 생각에 알아보았는데 둘 다 같은 기술을 지칭하는 것이여서 허무했다. TLS 1.0은 SSL 3.0을 기반으로 제작되었으며 2023년 현재는 TLS 1.3 버전까지 출시되었다. 그리고 TLS 1.0과 1.1 버전 조차 취약한..
WebSocket 보통 실시간으로 데이터를 전송해야하는 기능( ex :스트리밍서비스, 채팅 서비스)을 구현하기 위해서는 WebSocket을 통해서 기능을 구현한다. 그런데 이러한 WebSocket은 서버의 성능이 중요하다는 문제점이 존재한다. 특히 WebSocket에서는 서버의 메모리 성능이 매우 중요해지는데 모든 통신을 추적하기 때문이다. 서비스를 사용하는 유저가 많으면 많을 수록 더욱더 높은 메모리를 요구하게 되고 메시지를 받으면 다른 유저에게도 해당 메시지를 리얼타임으로 포워딩해야하기 때문에 서버에 수많은 커넥션이 오고 있다면 딜레이가 발생할 수 있다. 이러한 문제점을 해결하기 위해서 등장한 개념이 바로 WEBRTC이다. WEBRTC WEBRTC(WebRealTimeCommunication)는 브라..
인프라를 운영 및 구축 혹은 어떠한 이슈를 해결함에 있어서 TCP/IP를 아느냐 모르냐는 차이가 매우 크다고 말할 수 있다. OSI 7 Layer와 더불어 TCP/IP는 개발자, 엔지니어를 가리지 않고 나오는 단골소재이다. TCP/IP란? 인터넷 프로토콜 스위트(Internet Protocol Suite는 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰인다. IP 프로토콜 vs TCP 프로토콜? 무슨차이인가? TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말이며 TCP/IP를 사용하겠다는 말의 의미는 IP주소 체계를 따르고 IP Routing을 이용해 목적지에 도달하여 TCP의 특성을 활용해 ..
Cmd 창에서 ipconfig를 실행하면 다음과 같은 정보를 확인할 수 있다. IPv4 주소에 192. 으로 시작하는 주소가 나오는 것은 내부망임을 의미하며 네이버에 내 아이피주소 확인으로 확인 할 수 있는 아이피는 외부망임을 확인 할 수 있다. KT, SKT, LGU+ 등 ISP 업체에서 사용료를 내고 회선하나를 받으면 그 회선자체는 외부망 선하나를 받은 것이고 그 받은 회선하나에 공유기를 통해 여러대의 컴퓨터가 하나의 회선을 통해 인터넷을 사용할 경우 이 여러대의 컴퓨터의 네트워크를 내부망이라고 한다.
1. 프로토콜이란? '복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약으로서 신호 송신의 순서, 데이터의 표현법, 오류 검출법 등을 정해놓은 통신규약을 말한다.' 2. 프로토콜의 구성요소 프로토콜은 구문(syntax), 의미(semantic), 타이밍(timing) 3가지의 구성요소로 이루어져 있다. 구문(syntax) : 데이터를 어떻게 구성할 지에 대한 형식, 구체적인 코딩 방법, 신호 레벨 등에 대한 형식을 규정 의미(semantic) : 데이터에 대하여 구체적으로 어떻게 제어할 것인지에 대한 처리 방법과 에러가 발생했을 때 어떻게 처리할 것인지에 대한 정보 타이밍(timing) : 통신이 이루어질 때 데이터를 주고 받을 속도에 대한 조절과 여러..