널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
강의
로드맵
전체 2수강평
- 외워서 끝내는 네트워크 핵심이론 - 기초
게시글
질문&답변
교안 p.305 'throw 필수' 질문
제보 고맙습니다. 얼른 조치하겠습니다.
- 0
- 1
- 20
질문&답변
독하게 시작하는 c프로그래밍 구입했는데..
국회도서관을 이용해 복사본을 받아보는 방법이 있긴 합니다. 그게 아니라면 제가 운영중인 유튜브 채널에 멤버십 가입 후 PDF파일을 다운 받으시는 방법도 있습니다. 참고하시기 바랍니다. :)
- 0
- 2
- 25
질문&답변
윈도우 개발 튜토리얼
MFC 기본 강의에서 권해드린 PPT 흉내내기 프로젝트를 추천드립니다. 그 외에도 더 주제가 있을 수 있겠으나 GUI에 특화할 경우 수업 범위를 넘어선 주제들을 다루게 됩니다. 특히 커스텀 컨트롤 윈도우 제작은 필수입니다. 이 경우 UI에 관한 내용만으로도 여러 강의주제가 나올 정도입니다.결과적으로 UI에 특수화 할 것인지 아니면 기능적으로 특수화 할 것인지 결정하는 것이 먼저이겠습니다. 아직까지도 MFC가 사용되는 이유는 C/C++ 코드를 직접 사용(Win32 API 포함0할 수 있다는 점입니다. UI를 갖는 응용 프로그램이지만 시스템 제어도 가능한 프로그램을 개발할 때 유용한 것이죠.그런 점들을 감안해보시면 좋겠습니다.
- 0
- 1
- 17
질문&답변
out of path 구조에서 수집장치가 두 가지 있다고 하셨는데 나머지 한가지는 무엇인가요?
포트 미러링 설정은 기존 L2 스위가 스위칭 역할도 하면서 '추가적'으로 송/수신하는 모든 L2 프레임을 특정 L2 스위치 포트로 복사해 전달하도록 하는 것입니다. 그런데 이는 사실 스위치에게 꽤 부담으로 작용합니다. 만일 모든 프레임을 복사 받아보고 분석해야 할 센서가 여럿 존재한다면 그 어렷 전체에게 프레임을 복사해 전달해야 합니다. 부하는 더 올라갑니다.이런 문제를 해결하기 위해 아예 복사만 전문적으로 수행하는 스위치가 있는데 이를 '탭 스위치'라 합니다. 분석 주체가 되는 장치가 많다면 통상 탭 스위치를 사용합니다.그리고 나머지 질문에 대해 답변을 드리자면...보통 그렇습니다. Inline으로 구성할 수도 있겠으나 단순 정보 수집을 위한 경우라면 대부분의 경우 Out of path 방식으로 설치합니다. 경험상 아닌 경우를 못 본것 같습니다.Sensor는 수집 장치가 반드시 갖춰야 할 기능요건으로 생각 할 수 있겠습니다. 둘을 가르는 가장 큰 차이는 '저장여부' 입니다. 센서는 트래픽을 수신한 후 원하는 정보가 시그니처가 포함됐는지 확인하고 로그를 남기는 정도이나 수집장치는 DB나 File로 트래픽을 저장해 모으기도 합니다. 물론 수집과 센싱 둘 다 할 수도 있고요. 개념적 관점의 분리로 이해하시면 좋겠습니다.침입탐지 및 이상징후 탐지 시 알림을 포함하는 경우가 있습니다. 장치를 이루는 구성요소로써 센서와 알림 은 분리될 수 있다고 보시면 되겠습니다.동작 원리는 개발의 영역입니다. 이 부분에 대한 것까지 알고 싶다면'이해하면 인생이 바뀌는 네트워크 프로그래밍'https://inf.run/eeFb8이 강의를 보시기를 권합니다. 단, C언어에 매우 능숙해야 합니다. 참고하시기 바랍니다. 😄
- 0
- 3
- 16
질문&답변
Sensor 역할을 하는 Out of Path 장치가 응답을 보낼 수 있나요?
네, 가능합니다. 통상 유해사이트 차단 장치는 NIC이 2개 이상입니다. 1개는 수집용(Sensor)이고 다른 하나는 조작된 신호를 보내기 위한 것입니다. 참고하시기 바랍니다. 😄
- 0
- 2
- 31
질문&답변
UDP 통신 시 Socket 설정
소켓 생성 시 바인드 할 포트 번호는 정하기 나름입니다. 자동으로 열리는 것이 아니라 개발자가 포트번호를 특정해 사용해도록 프로그램을 작성했다면 해당 포트가 열리는 것입니다.그리고 멀티캐스팅 방식을 채택했다면 특정 호스트에 대한 IP를 특정할 이유가 없습니다. 어차피 특정 네트워크 구간에 모두 브로드캐스트 되기 때문입니다. (IP주소가 멀티캐스트인 경우 목적지 MAC 주소는 최종적으로 FF-FF-FF-FF-FF-FF 브로드캐스트 주소가 됩니다.) 참고하시기 바랍니다. 😄
- 0
- 2
- 55
질문&답변
.
내용을 입력해주시면 답변해드리겠습니다. 😄
- 0
- 1
- 33
질문&답변
서버가 끊어버리는것에 대한 질문
서버에서 먼저 끊는 것이 맞습니다. 다만 이 경우 정상적인 TCP 세션 종료가 아니라 비정상적인 강제 종료 방식(RST)으로 연결을 끊어야 합니다. 이렇게 하려면 setsockopt() 함수를 이용해 SO_LINGER 설정을 해주면 됩니다.struct linger sl; sl.l_onoff = 1; // linger 옵션 사용 sl.l_linger = 0; // 대기 시간 0초 setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &sl, sizeof(sl)); close(sockfd); 참고하시기 바랍니다. 😄
- 0
- 2
- 34
질문&답변
CString의 위험성...???
CString 클래스는 매우 특수한 클래스 입니다. 다른 클래스 인스턴스들과 달리 마치 char* 처럼 작동할 수 있도록 메모리 구조를 가지고 있는데다 메모리 운영효율을 위해 내부적으로는 더 큰 메모리를 가지고 있습니다.만일 CString 클래스 인스턴스 str을 선언한 후 최대 길이가 1000글자 정도 되는 데이터를 저장했다가 100글자 정도되는 문자열로 대체 할 경우(str = "100글자문자열";) 여전히 메모리는 1000글자를 저장 할 수 있는 공간을 유지 합니다. 이게 또 항상그런 것은 아니라 할 수 있는데 아무튼 워킹 메모리 영역을 1000글자 저장 할 수 있는 정도를 유지하는 것은 확실합니다.이런 특징은 장기간 작동해야 하는 서버 개발 시 큰 문제가 될 수 있습니다. 특정 CString 클래스 인스턴스가 계속 남아 워킹 메모리 크기를 지속적으로 늘리는 문제를 야기할 수 있습니다.사실 이런 문제는 실무에서 겪어보면 알게 되는 것으로 매우 당황스러운 특징이라 할 수 있습니다. 아마도 이러한 내부적인 특성을 알고 있는지 확인하려 했던 것 같습니다. 참고하시기 바랍니다. 😄
- 0
- 1
- 37
질문&답변
안녕하세용 선생님 질문이 있습니다~~
네, 맞습니다. 굳이 음수 영역을 사용할 필요가 없기 때문인데 이는 배열의 인덱스로 음수를 사용하지 않는 것과 맥락이 같습니다. 참고하시기 바랍니다. 😄
- 1
- 1
- 31