인터넷을 통한 디바이스 연결

인터넷을 통한 디바이스 연결IOT든 M2M이든지 간에 작동을 하려면 인터넷에 연결이 되야한다. 이를 위해서 해결해야 할 다양한 문제들이 있다. wiki 모듈을 장착할 수 있는 큰(그리고 값 비싼) 가전기기들이 있는 반면, wifi 모듈을 붙이기 힘든 작은 크기의 디바이스들도 있기 때문이다. 예컨데 손목이나 몸에 부착하는 웨어러블(wareable)기기들은 ...

IoT Local 보안

IoT Local 보안 미완성TCP/IP 기반의 인터넷은 근본적으로 보안에 취약하다. 다행인 것은 오랜 역사와 함께 상업적으로도 크게 성공했다는 점이다. 이런 점 때문에 보안 취약점에 대한 많은 조사가 이루어졌고, 보안을 강화하기 위한 많은 훌륭한 솔류션들이 있어서 운신의 폭이 넓다. 나는 여기에서 IoT 보안에 대한 생각을 정리하려 한다. 대략 아...

네트워크 프로그래밍 미니 사이트

네트워크 프로그래밍 미니 사이트네트워크 프로그래밍 관련 미니 사이트 입니다. 그동안 네트워크 프로그래밍 관련 내용을 쉽게 찾을 수 있도록 인덱스를 제공합니다. 처음 네트워크 프로그래밍을 접하는 분들에게 도움을 줄 목적으로 만들어졌습니다.의 글들을 먼저 읽는다면 여기의 내용들을 이해하고 응용하는데 많은 도움이 될겁니다.컴퓨터는 정보를 처리하기 위해서 만들어...

Advanced network Programming

Advanced network Programming 리얼타임 시그널, kqueue, C10K, epoll 등 최신 네트워크 프로그래밍 기술에 대한 내용들 커널 2.4를 기준으로 작성된 예전 문서들은 2.6에 맞게 수정 C10K 문서를 위주로...

비 동기 입출력 프로그래밍

비 동기 입출력 프로그래밍비동기 입출력 프로그래밍에 대해서 다룰 계획임. POSIX AIO도 함께.소켓 응용 프로그램을 개발하다보면 종종 봉쇄(blocking) 소켓, 비 봉쇄(non-blocking) 소켓이란 말을 듣는다. 봉쇄 소켓 보다 비 봉쇄 소켓이 성능이 좋다느니, 이런 경우에는 비 봉쇄 소켓을 사용해야 한다느니 하는 것들이 그것이다. 특히 요즘...

Tcpdump와 WireShark를 이용한 패킷 분석

Tcpdump와 WireShark를 이용한 패킷 분석네트워크 관리자는 아니라서 tcpdump를 달고사는 건 아니지만 간혹 네트워크 프로그램 디버깅 목적으로 사용하곤 합니다. 그 때마다 드는 생각이 있죠. "왜 리눅스에는 윈도우의 wireshark와 같은 GUI 기반의 분석툴이 없을까. ?".클라우드 관련일을 하다보니, 패킷을 분석해야할 일이 많아진 요즘에...

윈도 사이즈와 소켓 버퍼

윈도 사이즈와 소켓 버퍼TCP는 데이터의 신뢰성을 보장한다. 신뢰성 보장의 핵심은 전송 패킷에 대한 ACK 응답이다. 내가 보낸 데이터에 대해서 일정 시간동안 응답이 없다면, 상대측이 데이터를 받지 못한 것으로 간주 하고 재 전송하는 식이다.TCP의 전송 <-> 응답시스템은 신뢰성을 보장해주는 매우 좋은 방식이긴 하지만, 비 효율적일 수 있다는 문제가 발...

epoll - 커널 2.4 기준

epoll - 커널 2.4 기준이 문서는 kernel2.4를 기반으로한 오래된 문서입니다. 기술적인 내용만 참고하고 으로 변경사항을 확인하면 될 것 같습니다. 일단 2.6은 커널패치나 라이브러리 없이 epoll을 지원하기 때문에, 2.6을 사용하는 지금은 라이브러리와 커널 설정 부분은 읽을 필요가 없습니다. 작성일 수정일 언제 날 잡아서 2.6에 맞...

Pcap을 이용한 패킷캡쳐 응용

Pcap을 이용한 패킷캡쳐 응용...

libpcap을 이용한 프로그래밍

Libpcap(이하 pcap)은 "Portable Packet Capturing Library"의 줄임말이며, 해석그대로 "간단하게 패킷을 캡쳐하기 위한 함수모음(라이브러리)" 이다. 물론 pcap 외에도 패킷캡쳐를 위한 도구들이 있기는 하지만, 대부분의 경우 운영체제에 종속적이여서, 운영체제별로 코드를 다시 짜야 한다는 불편함이 있다. 대표적인 도구로는 ...