컴퓨터(18)
-
네트워크 개념 정리
네트워크 개념을 계속 헷갈릴 것 같아서 한 번에 정리해 봅니다. 자세한 내용은 다음 포스트에 게시할 예정입니다! 패킷(packet-switch or Circuit switch) 계층구조(Service Model) Data Link Layer (Unit: Frame) 노드: 링크 계층 프로토콜 실행 장치 (host, router, switch AP) 링크: 노드 연결 통신 채널 링크에서 노드가 datagram(Network layer unit)을 링크 계층의 Frame으로 capsule化 Framing : datagram -> frame capsulization Link Access : transport frame to link (managed by mac protocol) Feature - reliabl..
2023.10.05 -
Pcap 설치/사용형식
PCAP(Packet capture)은 네트워크 상에서 패킷을 만들거나 잡을 때(capture) 사용되는 C언어 라이브러리입니다. sniffing을 직접 해보고 싶어서 사용하려 보니 생각보다 헷갈려서 설치방법, 기본적인 사용 형식 (format)을 정리해 봅니다. 터미널에 sudo apt-get install libpcap-dev 를 입력해서 PCAP을 다운로드 받습니다. 저는 리눅스 터미널에서 다운로드 받았습니다. 아래는 PCAP의 기본적인 포맷사용을 순서대로 정리했습니다. 1. pcap_open_live로 네트워크 인터페이스를 열어줍니다. #include pcap_t *handle; char *dev = "eth0"; handle = pcap_open_live(dev, BUFSIZ, 1, 1000, ..
2023.09.21 -
wireshark 실습
네트워크 패킷을 보통 wireshark로 분석하기 때문에 분석할 때 유용한 wireshark 단말들을 정리해보았다. - wifi 선택 후 http protocol 인터페이스 캡슐화 frame: 데이터링크단계/전체내용 Ethernet: mac 주소(어떻게 보낼것인지, 인터페이스) IP주소: 네트워크단계/ Datagram header /IPv4/checksm (bit손실이 일어났는지) TCP : transmission 단계, protocol - wireshark TCP Stream TCP 과정에서 사용된 정보 확인 가능 - wireshark Flow CP -> TCP3 handshake를 통해 연결 설정 sync, ack 송수신과정 타임라인으로 정리, ip 주소 확인하기도 편함
2023.09.21 -
socket programming
애플리케이션과 트랜스포트 계층의 소켓 인터페이스를 socket 라이브러리를 사용하여 파이썬으로 구현해 보았다. 트랜스포트 계층에서 가장 많이 쓰이는 프로토콜은 TCP와 UDP로 각각의 특징 떄문에 프로그래밍 방법에 차이가 있다. TCP와 UDP의 차이점 TCP UDP Connection-Oriented vs. Connectionless - Connection-Oriented 데이터 전송 이전에 connecntion를 만들고 전달을 보장해준다(신뢰성-Integrity) - Connectionaless 데이터 전송 이전에 connection이 없고 신뢰성을 보장하지 않는다. -> "fire and forgot protocol" Reliability 신뢰성이 보장되며 flow control이 가능하다. -> ..
2023.09.21 -
docker로 Flask 웹 애플리케이션 실습
docker라는 가상환경 안에서 컨테이너를 만들고 서버를 띄우는 과정에서 dockerfile, docker-compose.yml을 통해 해당 과정을 자동화하는 방법을 배웠다. 개인 서버가 아닌 대량의 서버를 한번에 관리할 때 도움이 될 것 같다. 하지만 dockerfile과 docker-compose.yml코드를 실행하는 과정 중 취약, 악성코드나 잘못되 포트가 연결되어 있을 때 보안 상 허점이 생길 수 있기 때문에 해당 파일의 구조와 서버가 만들어지는 과정을 자세히 알아놓아야 할 것 같다. docker과 웹 frame에 아직 익숙하지 않아서 오늘은 만들어진 코드를 기준으로 과정을 살펴보고 다음 포스팅에서 도커파일해석과 서버프로그래밍에 대한 간단한 공부를 해 볼 예정이다. 우선 Flask frame에서 ..
2023.09.18 -
docker 컨테이너 내부에서 동작하기 (Node.js) 사용
컴퓨터 공부를 하다 보면 정말 다양한 운영체제와 프레임이 있다는 것에 놀랍니다. 한번씩 만져보고 싶지만...제 컴퓨터 메모리가 버텨주지 못할 것 같아 이번주 웹서버 공부를 하면서 도커를 사용해보았습니다...! 도커를 사용해서 평소 (비교적)친숙한 우분투와 node image를 깔고 컨테이너를 생성해보며 도커 성능을 시험해 보았습니다. 그러다가 image, container, vm 개념이 너무 헷갈려서....GPT의 힘을 빌려 아래와 같이 정리해 보았습니다. 컨테이너 VM 1. Isolation - Host와 동일한 OS커널 공유 - 전체 운영체제를 hypervisor 상에서 실행 - 각 VM이 고유의 커널을 가지고 호스트 OS와 직접 상호작용을 하지 않음 2. Resource overhead - 각 인스..
2023.09.18