본문 바로가기

Network16

개인 VM으로 사내 웹 서버 구축하고 RSA 키로 복호화 하기 VM으로 사내 웹 서버 구축하기TLS 복호화 방법 중  RSA 키를 이용한 복호화 기능의 테스트를 위해, 사내에 HTTPS 웹 서버와 RSA 키를 만드는 환경을 임시로 구축해야 했다. 사내 웹 서버 구축 과정은 리눅스 웹 서버 https 설정하기를 참고했다. 테스트 환경 VM- HTTPS Web Server 용- Linux CentOS 8 운영체제의 VM을 이용했고, 네트워크는 어댑터에 브릿지 방식을 이용했다. 공유기에서 IP를 할당받아 Host OS와 동일한 Class IP 대역을 할당하기 위해서다. 사내 개발용 서버- 사내 다른 대역의 개발 서버에서 curl을 통해 HTTPS Web Server에 접근한다.- curl을 이용해 TLS 1.2 버전으로 통신하도록 강제한다.  Host OS- Wiresh.. 2025. 3. 29.
Wireshark Opensource 활용기 | wmem (Wireshark Memory Management)에 대해 wmem, Wireshark Memory Management Framework에 대해   Wireshark는 대표적인 패킷 분석 툴이다. Wireshark 오픈 소스에서 자주 보이는 wmem과 wmem_alloc()에 대해 알아보자. • 핵심 소스코드 위치epan/wmem/wmem_core.cepan/wmem/wmem_scopes.c• wmem 관련 DocumentREADME.wmem  0. 글을 쓰게 된 배경?최근 wireshark 소스 코드 내 패킷 처리 로직을 수정하다가,  패킷의 페이로드를 버퍼로 가져와 사용할 일이 있어 wmem_alloc()을 호출했다. 당연히 alloc과 free는 함께 이루어져야 하지만 wmem_alloc()은 별도로 free 해주지 않아도 Memory Leak이 발생하지 .. 2025. 2. 16.
Wireshark Opensource 활용기 | Protocol Dissector를 직접 추가하기 Wireshark, 강력한 네트워크 분석 오픈소스  Wireshark는 대표적인 패킷 분석 툴이다. Wireshark 오픈 소스를 활용해서, 직접 Protocol Dissector를 추가해보자.설명할 문서는 Wireshark의 9.2. Adding a basic dissector 부분이다. 9.2 기본적인 dissector를 추가하기문서에서는 Foo 프로토콜을 예시로 들고있다.패킷 타입 - 8 bit size가능한 값1 - 초기화 (initialisation)2 - 종료 (terminate)3 - 데이터 (data)플래그 집합 - 8비트 크기.값0x01 - 시작 패킷 (start packet)0x02 - 종료 패킷 (end packet)0x04 - 우선 패킷 (priority packet)시퀀스 번호 -.. 2024. 11. 9.
ARP, Address Resolution Protocol | 직접 설명해보는 ARP 흐름 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.     ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.ARP (Address Resolution Protocol) LAN (L2) 에서 목적지를 제대로 찾을 수 있도록 돕는다.  ARP의 흐름을 알아보자. 먼저 FTP에 hostname이 들어온다. FTP 클라이언트는 DNS의 resolver에게 hostname을 주고 IP 주소를 얻는다. FTP 클라이언트는 TCP와 IP 주소를 연결하는 설정을 한다. TCP는 IP 주소와 IP datagram을 보내면서 remote host.. 2022. 9. 29.
Port, IP, MAC 직접 설명해보는 식별자 이야기, 그리고 host, swtich, network의 관계 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.     ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.  7 Layer에는 세 가지의 식별자가 있다. L2의 MAC 주소, L4의 Port 번호, L3의 IP 주소다. 이것들은 무엇에 대한 식별자일까? MAC 주소는 H/W 단의 NIC (Network Interface Card) 에 대한 식별자다. H/W에 붙은 번호로 이해하면 된다. 더 쉽게 말하면 LAN 카드다. LAN 카드는 모두 MAC 주소를 가지고 있다. 만약 노트북이 두 개의 NIC을 가지고 있으면 MAC 주소도 .. 2022. 9. 29.
직접 설명해보는 switch가 하는 일 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.   ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.  "switch가 하는 일은 swtiching이다"  swtich는 "교차로", swtiching은 "어떤 인터페이스의 경로 선택", 그리고 Network는 "고속도로", "고속도로 위 이정표"는 라우팅 테이블, packet은 "자동차"라고 하자.경로 1번은 A->B->E->D->목적지경로 2번은 A->D->목적지 라고 할 때, 경로 2번이 훨씬 빠르고 효율적이다.  A, B, C, D, E, F 같은 각 지점은 라우터라고 .. 2022. 9. 29.
직접 설명해보는 패킷의 생성 원리 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.   ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.   상황 전제 )proccess가 소켓에 I/O (입출력)을 시도한다. 이때 memory에 저장된 stream 데이터가 생긴다.  stream이란, 소켓 수준의 데이터 단위를 말한다. 소켓은 TCP라는 요소를 user mode application이 접근할 수 있도록 추상화한 인터페이스를 말한다. 소켓의 본질은 file이다. 그리고 소켓 수준의 데이터 단위는 stream이다. stream은 시작 지점부터 길게 쭉- 늘어진 데.. 2022. 9. 29.
직접 설명해보는 TCP/IP 송수신 원리 ※  아래 내용은 스스로 공부한 내용을 정리한 글입니다.     ※  때로 정확하지 않을 수 있으며, 참고만 부탁드립니다.     ※  잘못된 내용이 있을시 댓글로 알려주시면 감사하겠습니다.   ※ 노란 형광펜은 궁금점, 회색 형광펜과 파란 형광펜은 궁금점 해결에 대한 표시 입니다.    컴퓨터 구조는 세 부분으로 이루어진다. OS 수준의 User application (User mode)과 System S/W인 Kernel, 그리고 H/W 영역이다. 이 영역에 OSI 7 Layer가 위치한다. Kernel에는 Network 계층 L3와 Transport 계층 L4가 위치하고 있고,  User application에는 L5, L6, L7이 위치한다. 이를 더 간소화하여 네 개의 계층으로도 설명할 수 있다.. 2022. 9. 27.
Wireshark 개론, 네트워크 패킷 분석 툴 1. wireshark 란 무엇일까?무료 오픈 툴(tool)로서 네트워크 상의 패킷을 분석해서 보여주는 도구참고 > 처음 배포되었을 때의 툴의 이름은 Ethereal(이더리얼)이었으나 회선 위에서 상어가 패킷을 잡아먹는 것과 유사하다고 하여 프로그램의 이름을 wireshark(와이어샤크)로 개명유닉스와 윈도우에서 둘 다 사용이 가능하며 실시간으로 패킷 확인이 가능하여 유용추가로 패킷을 캡쳐하기 위해 pcap 네트워크 라이브러리를 사용엔지니어들이 네트워크적 문제를 해결하는데 많이 사용하는 도구 2. wireshark 사용법1번메뉴들을 나타내며 [ File | Edit | View | Go | Capture | Analyze | Statistics | Help ] 총 8개의 메뉴로 구성되어 있음[File] .. 2022. 8. 30.