소켓26 IOCP 에코 서버-클라이언트 C++ (CompletionQueue) 오랜만에 네트워크관련글을 쓰게되었습니다. 사실 반년전에는 네트워크관련글을 열심히올리다가, 대부분 알고리즘&게임엔진에 대한 글을 많이쓰게되었습니다. 그리고, 현재.. TCP/IP IOCP 에코서버&클라이언트에 대한 글을 쓰게되네요. ✨ 다운로드 https://github.com/orangelie/IOCP-Echo GitHub - orangelie/IOCP-Echo: WSA IOCP Tcp/ip Echo Server on C++17 WSA IOCP Tcp/ip Echo Server on C++17. Contribute to orangelie/IOCP-Echo development by creating an account on GitHub. github.com 🔮 클라이언트를 특정할 수 있습니다. /** @s.. 2021. 9. 8. 다중 스트림서버 C++ TCP #1 개발환경 >> Visual Studio 언어 >> C++17 운영체제 >> Windows10 안녕하세요... 오랜만입니다..! 이번에 시험이 끝나고 쓰는 정식적인 첫 강좌 글이네요. 이번에는 예전부터 쓴다고 예고했던 소켓 다중 스트림 강좌입니다. 다중 스트림이랑 다중 클라이언트와의 차이점은 밑에 그림을 그렸습니다 보시죠~~ 우선 저가 이것을 연구하고 싶게 된 계기가 통신을 하면서 데이터를 동시에 보내야 하는데 혼합되지 않도록 할 때가 필요하더라고요 예를 들어서 키로거를 포함한 해킹 툴을 만드는데 키로깅 내용과 다른 작업을 동시에 할 때 데이터가 섞이지 않는 등등.. 이렇게 있기 때문에 연구하기 시작했습니다. 금방 만들 줄 알았는데 2시간 정도 더 걸렸네요...ㅠㅠ 우선 소스코드 보시죠! [[[ 서버 ]].. 2020. 12. 31. 다중 클라이언트 C++ TCP #3 (수정본) 개발환경 >> Visual Studio 언어 >> C++17 운영체제 >> Windows10 안녕하세요 저번에 올렸던 다중클라이언트글은 devcpp 기반이라서 비주얼스튜디오를 사용하시는분들은 작동이 안될겁니다 그래서 비주얼 스튜디오에서도 작동되는 코드로 재수정했습니다. 비주얼스튜디오 이용자분들에게 도움이되길 바라요~ [[[ 지난글 ]]] 다중 클라이언트 C++ TCP #3 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난 글 ]]] > DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난 글 ]]] 다중 클라이언트 C++ TCP #1 시작하기 앞서서 사용한 운영체제.. mawile.tistory.com [[[ 서버 ]]] #include.. 2020. 12. 24. 멀티 클라이언트 채팅서버 - C# winform 개발환경 >> Visual Studio 언어 >> C# winform 운영체제 >> Windows10 안녕하세요 저번 글과의 텀이 꽤 길었습니다 (이제시험기간코앞이라 앞으로는 글이 거의없을겁니다) 이유는 C# winform을 공부했습니다. 2일 만에 소켓을 공부했는데(물론 자바문법을 알고있었고 유니티를 통해 C#기본문법은 익혀둔상태) C#winform은 ui나 그래픽 같은 것을 c++과 달리 쉽게 구현이 가능해서 그 점이 매우 좋았습니다. 또, C++에서 화면 한 장 찍으려고 별 ㅈ... r을 다해서 몇십 줄 채워야 되는데 c#은 그냥 5줄이면 끝나더라고요 ㅋㅋ... 쨋든,, 이것을 통해서 저가 그렇게 구현하고 싶었던 여러 개의 클라이언트를 관리하며 특정 클라이언트를 지목해나가면서 해킹이 가능하며 콘솔이.. 2020. 12. 6. 소켓 파일전송 C++ #2 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난글 ]]] 소켓 파일전송 C++ #1 시작하기 앞서서 사용한 운영체제는 Windows10이며 사용된 IDE는 DevCpp이고, 사용한 언어는 C++11입니다! [[[ 참고자료 ]]] 소켓 기본 틀 소켓 기본틀 [[[ 서버 기본 틀 ]]] #include #include using nam.. mawile.tistory.com 안녕하세요 심심하기도하고 복습할겸 소켓간의 파일전송하는 방법을 하나 더 만들어봤습니다 저번보다는 더 심플하게 최대한 만들려고했습니다 [[[ 서버(송신) ]]] #include //Sender #include using namespace std; void StrToChr(string str,cha.. 2020. 11. 26. 소켓 커스텀 송수신함수 구현 C++ 안녕하세요~!이번에는 소켓 송수신 함수를 좀 더 안정적으로 만들었습니다 예를 들어서클라이언트 측에서 "Hello world"라는 문구를 서버로 전송했다고 칩시다.이때의 데이터의 길이는 11, 데이터의 크기는 12가 될 겁니다. 만약 strlen() 즉, 문자열의 길이를 전송했을 경우,서버 측에서는 이것을 11만큼 받아야 합니다.아니면 sizeof() 즉, 문자열의 크기를 전송했을 경우, 서버 측에서는 이것을 12만큼 받아야 합니다. 만약 클라이언트 측에서 데이터의 양을 20을 보냈는데 서버측에서 데이터의양을 10을 받으면,소켓 버퍼에는 10만큼의 데이터가 남게 돼서 그 코드에는 오류는 발생하지 않지만, 결함이 발생하게 됩니다. 그리고 서버 측에서는 클라이언트 측에서 보내는 데이터의 크기나 길이를 모릅니다.. 2020. 11. 26. C++ 드래곤온라인 프로젝트 근황 #1 안녕하세요...! 요즘은 평일에는 코딩이나 블로그 글 쓸 시간이 많이 부족한 데다가 이제 슬슬 학교 2차 지필시험도 차근차근 시작할 시기이기도 하고 학교 소프트웨어 공모전이 시험 2주 전인가 그래서 일단 그거 완성시켜놓고 드래곤 온라인 프로젝트는 천천히 진행할 겁니다 [ '그거' ] C언어 프로젝트 [ 2020 ] #3 현재 프로젝트는 이정도완성했습니다 힘드네욤......ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 배고파~~~............... 앞으로 >> 피아노연주기능 만들기 >> 레지스트리관련기능 만들기 >> 상단아이 mawile.tistory.com 현재 드래곤 온라인 프로젝트는 기본적인 유저 데이터베이스 구축을 거의 끝마쳤습니다 (사실 인게임 내용도 추가하면서 데이터베이스를 인게임 내용에 맞추어서 이어서 만들.. 2020. 11. 18. codeSock <v2.0> 라이브러리 배포 C++ 본 글은 "codeSock"라이브러리 함수들에 대한 설명과 배포를 위한 글입니다. 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 지난 버전 codeSock 헤더파일 배포 C++ 시작하기 전 이 헤더 파일은 Windows10 운영체제를 사용, IDE는 DevCpp를 사용, 언어는 C++11을 사용했음을 알려드립니다 안녕하세요! 이번에는 저가 소켓을 쉽게 만들도록 도와주는 C++ 기반의 소켓 헤 mawile.tistory.com 시작하며... 안녕하세요!! 드디어!!! codeSock라이브러리 제작을 완료했습니다!! 우선 해당 라이브러리는 ws2_32 관련 링커가 연결되야지 정상 작동합니다...!! 확장자는. h(헤더 파일)입니다 라이브러리 파일 다운로드는 아래 링크에서 다.. 2020. 11. 12. codeSock <2.0> 개발일지 C++ [[[ 지난 글 ]]] codeSock 헤더파일 배포 시작하기 전 이 헤더 파일은 Windows10 운영체제를 사용, IDE는 DevCpp를 사용, 언어는 C++11을 사용했음을 알려드립니다 안녕하세요! 이번에는 저가 소켓을 쉽게 만들도록 도와주는 C++ 기반의 소켓 헤 mawile.tistory.com 안녕하세요~!!! 어제는 글을 못 올렸는데 이유가 codeSock v2.0 버전을 하루 종일 만드느라고 ㅋㅋㅋ..... 흑....ㅠㅠ 진짜 오류는 많이 안 났지만 어떻게 설계해야 될지 머리를 진짜 엄청 썼습니다.. codeSock 은 codeSock 과는 완전히 다르게 만들었습니다 왜냐하면 기존의 v1.0 버전은 되게 코드가 혼잡했고 불안정했습니다 그래서 아예 갈아엎었고, 처음부터 끝까지 직접 처음부터 .. 2020. 11. 11. 다중 클라이언트 C++ TCP #3 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난 글 ]]] 다중 클라이언트 C++ TCP #2 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난 글 ]]] 다중 클라이언트 C++ TCP #1 시작하기 앞서서 사용한 운영체제는 Windows10이며 IDE는 DevCpp이고 사용한 언어는 C++11입니다! 참.. mawile.tistory.com [[[ 비주얼스튜디오 이신분들은 이곳으로!! ]]] 다중 클라이언트 C++ TCP #3 (수정본) 개발환경 >> Visual Studio 언어 >> C++17 운영체제 >> Windows10 안녕하세요 저번에 올렸던 다중클라이언트글은 devcpp 기반이라서 비주얼스튜디오를 사용하.. 2020. 11. 9. 다중 클라이언트 C++ TCP #2 개발환경 >> DevCpp 언어 >> C++11 운영체제 >> Windows10 [[[ 지난 글 ]]] 다중 클라이언트 C++ TCP #1 시작하기 앞서서 사용한 운영체제는 Windows10이며 IDE는 DevCpp이고 사용한 언어는 C++11입니다! 참고자료 소켓 기본 틀 #1 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_.. mawile.tistory.com [[[ 참고 ]]] 소켓 기본 틀 #1 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 SOCKET skt,client_sock; int main(){ WSADATA wsa.. 2020. 11. 5. C언어 프로젝트 [ 2020 ] #4 지난 글 C언어 프로젝트 [ 2020 ] #3 현재 프로젝트는 이정도완성했습니다 힘드네욤......ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 배고파~~~............... 앞으로 >> 피아노연주기능 만들기 >> 레지스트리관련기능 만들기 >> 상단아이� mawile.tistory.com 이제 올해 2020년도 최종 프로젝트인 (원래는 오리지널 C++로 만든 미니게임 듀얼이었지만 오류가 발생해서 옮김, 근데 그 오류 지금은 다 고쳤음..ㅋㅋㅋㅋㅋㅋㅋㅋ 멀 티쓰 레딩 제어에 관한 오류입니다~) 파이썬과 C++ 기반의 트로이목마 Botnet종류의 바이러스 프로그램 " codeNet " 이 90% 완성되었습니다 다음 프로젝트 계획을 벌써 짰는데 다음 프로젝트는 역시나 저가 좋아하는 소켓을 이용한 C++ 기반의 콘솔 온라인 .. 2020. 10. 16. 소켓 구조체 정보 전송 C++ TCP 시작하기 앞서서 사용한 운영체제는 Windows10이며IDE는 DevCpp이고 사용한 언어는 C++11입니다! 안녕하세요!! 이번에는 간단명료하게 원리 설명과 소스코드 뿌리고 빠지겠습니다~!!(ㅋㅋㅋㅋ) 궁금한 부분이 있다면 모두 질문 주세요~!!!!!!!!!!!!! [[ 참고자료 ]] 소켓 기본 틀 #1 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 SOCKET skt,client_sock; int main(){ WSADATA wsa; WSAStartup(MAKEWORD(2,2), &wsa); skt = socket(PF_INET,SOCK_S.. mawile.tistory.com 소켓 기본 틀 #2 [[[ .. 2020. 10. 16. 다중 클라이언트 C++ TCP #1 시작하기 앞서서 사용한 운영체제는 Windows10이며 IDE는 DevCpp이고 사용한 언어는 C++11입니다! 참고자료 소켓 기본 틀 #1 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 SOCKET skt,client_sock; int main(){ WSADATA wsa; WSAStartup(MAKEWORD(2,2), &wsa); skt = socket(PF_INET,SOCK_S.. mawile.tistory.com 소켓 기본 틀 #2 [[[ 서버 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 int main(){ WSADATA ws.. 2020. 10. 14. 소켓 기본 틀 #2 [[[ 서버 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 int main(){ WSADATA wsa; if(WSAStartup(MAKEWORD(2,2), &wsa)!=0){ cout 2020. 10. 13. codeSock 헤더파일 배포 <1.0> C++ 시작하기 전 이 헤더 파일은 Windows10 운영체제를 사용, IDE는 DevCpp를 사용, 언어는 C++11을 사용했음을 알려드립니다 안녕하세요! 이번에는 저가 소켓을 쉽게 만들도록 도와주는 C++ 기반의 소켓 헤더를 만들게 되었습니다 우선 현재는 TCP 쪽은 돼있지만 UDP 쪽은 안돼 있습니다 헤더 파일 버전을 높일수록 새로운 기능도 계속 만들어갈 겁니다! 그러면 바로 사용설명을 해드리겠습니다! > 전체 함수 먼저 천천히 설명드리겠습니다. 저는 이번에 TCP 프로토콜로 만들면서 단일 클라이언트와 다중 클라이언트를 둘다만들었습니다 client() - 단일 클라이언트 연결 함수 파라미터는 각각 (아이피 주소, 포트, 묵시적 연결 시도) 묵시적 연결 시도는 true로 하면 서버에 접속이 될 때까지 접속을.. 2020. 10. 9. C언어 프로젝트 [2020] #3.5 방금 파일 송수신 기능에 관한 버그를 고치고 왔습니다.. 일단 수신(클라이언트-> 서버 파일 전송)은 같은 컴퓨터에서 했을 때랑 서로 다른 컴퓨터에서 했을 때랑 다 잘되었는데 이상하게 송신(서버 -> 클라이언트 파일 전송)은 같은 컴퓨터에서 했을 때는 잘되었는데 서로 다른 컴퓨터에서 하면 파일이 제대로 잘 안되더라고요 이유를 찾았습니다 자세히 보니까 클라이언트 측에서 받아와 진 파일의 이름이 이상했습니다 파일 이름하고 뒤에 이상한 숫자가 적혀있었어요 속으로 이 생각이 들더군요 아 저거 혹시 파일 사이즈인가? 알고보니 원래 서버측에서 데이터를 주고 클라이언트에서 받고 데이터주고 서버측에서 데이터받고 주고를 반복해야지 정상적으로 잘되는데 같은컴터에서할때는 거리가없다보니 소켓버퍼에 데이터가 찰걱정이없었지만 서.. 2020. 10. 7. C언어 프로젝트 [ 2020 ] #3 보호되어 있는 글 입니다. 2020. 10. 7. 소켓 파일전송 C++ #1 시작하기 앞서서 사용한 운영체제는 Windows10이며 사용된 IDE는 DevCpp이고, 사용한 언어는 C++11입니다! [[[ 참고자료 ]]] 소켓 기본 틀 소켓 기본틀 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 SOCKET skt,client_sock; int main(){ WSADATA wsa; WSAStartup(MAKEWORD(2,2), &wsa); skt = socket(PF_INET,SOCK_S.. mawile.tistory.com 파일 전송 원리 [C] 파일 전송(File Transfer) - TCP 1. 구성 TCP 기반의 Socket을 이용한 파일 전송 프로그램입니다. Server Rec.. 2020. 10. 6. 소켓 기본 틀 #1 [[[ 서버 기본 틀 ]]] #include #include using namespace std; #define PACKET_SIZE 1024 SOCKET skt,client_sock; int main(){ WSADATA wsa; WSAStartup(MAKEWORD(2,2), &wsa); skt = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); SOCKADDR_IN addr = {}; addr.sin_family = AF_INET; addr.sin_port = htons(4444); addr.sin_addr.s_addr = htonl(INADDR_ANY); bind(skt, (SOCKADDR*)&addr,sizeof(addr)); listen(skt,SOMAXCONN); SOC.. 2020. 10. 5. 리버스 쉘 Reverse Shell C++ 최신글 https://mawile.tistory.com/219 해킹도구 개발 | 리버스 쉘(Reverse shell) 이론및 개발실습 🔥 소개 안녕하세요! 이번에는 해킹도구 개발관련 카테고리가 개설된 후, 관련내용에 대한 첫번째 포스팅입니다! 이번 시간에는 리버스쉘(Reverse shell)에 관하여 포스팅하겠습니다. 🔥 리버스쉘 mawile.tistory.com 시작하기앞서서 사용한 운영체제는 Windows10이며, 사용한 IDE는 DevCpp이고, 사용한 언어는 C++11입니다. 안녕하세요~~~ 이번에는 소켓을 이용한 리버스 쉘을 만들어보겠습니다! [[[ 리버스 쉘이란? ]]] 쉽게말해서 서버측에서 클라이언트측에 속하는 PC의 cmd(명령 프롬프트)를 자유자제로 쓸수있는겁니다. [[[ 참고자료 ]]].. 2020. 10. 5. 실시간 채팅 프로그램 C++ TCP 안녕하세요! 이번에는 멀티쓰레드와 소켓을 이용해 실시간 채팅프로그램을 아주쉽게만들어보겠습니다!!! (오예~~) C++ TCP 기본강좌 소켓 데이터 C++ TCP 시작하기 앞서서 STDC++11,14에서 정상작동이 확인되었습니다. IDE는 DeVcpp을 사용했습니다. " 이글은 윈도우소켓 기본 C++ TCP " 글의 다음글임을 참고해주세요! 이번에는 ! 서버와 클라이언트간의 �� mawile.tistory.com 참고자료 thread - C++ Reference main, foo and bar now execute concurrently... foo and bar completed. www.cplusplus.com 최근글 https://mawile.tistory.com/191 IOCP 에코 서버-클라이언트.. 2020. 10. 1. C언어 프로젝트 [ 2020 ] #1 안녕하세요 오늘은 오목게임알고리즘을 넣었습니다 지금은 색을 안넣어서 되게밋밋한데 나중에 SetConsoleAttribute함수를 써서 넣을거예요 지금은 일단 다른 게임알고리즘넣기바빠가지고 학기말에 대회몇일전에 한번더 소스파일 다듬을건데 그때 넣을려구요! 유출방지로 메인시스템쪽은 안찍고 오목게임하는것만 보여드릴게요 밑에 시연영상에서는 같은 컴퓨터로했지만 정상적으로 다른컴퓨터에서도 됩니다!! [[[ 시연 영상 ]]] 2020. 9. 27. 백도어 만들기 C++ TCP 시작하기 앞서서 C++11,14에서 정상작동 확인되었으며. IDE는 DevCpp를 사용했으며 운영체제는 Windows10 home edition 정품 사용했습니다 안녕하세요! 이번에는 소켓 심화 1일 차 백도어 만들기입니다! 빨리 글 쓰고 싶어서 미치는 줄 알았어요 ㅋㅋㅋ 시작하기 앞서서 혹시 Windows10 기준 C++11로 TCP서버랑 클라이언트 만드는 법을 모르시는 분은 밑에 링크에 들어가셔서 보고 오세요! C++ 소켓 기초 1 소켓 기본 C++ TCP 시작하기앞서서 저가 설명하는내용은 저가 이해한대로쓴것이며 주관적이고, 이 카테고리와 더불어 소켓에 대한 글을 쓴 목적은 복습하기위함입니다. 잘못된부분이있다면 댓글을 달아주세요. � mawile.tistory.com C++ 소켓 기초 2 소켓 데이터.. 2020. 9. 26. 소켓 데이터 C++ TCP 시작하기 앞서서 STDC++11,14에서 정상작동이 확인되었습니다. IDE는 DeVcpp을 사용했습니다. " 이글은 윈도우소켓 기본 C++ TCP " 글의 다음글임을 참고해주세요! 이번에는 ! 서버와 클라이언트간의 데이터를 받아오는 방법에 대해 포스팅할게요! 먼저 데이터를 보내는방법 더보기 [ send() ] 데이터를 받는방법 더보기 [ recv() ] 여기서 주의할점은 이건 프로토콜타입이 TCP인 서버와클라이언트에서만 먹히는 데이터통신함수입니다 UDP프로토콜서버랑 클라이언트에관한 강좌는 동적연결라이브러리강좌를 끝마친뒤 올리겠습니다 예제코드먼저 보여드리고 설명해드릴게요 [[[ 서버 ]]] #include #include using namespace std; int main(){ WSADATA wsa; W.. 2020. 9. 24. 소켓 기본 C++ TCP 시작하기앞서서 저가 설명하는내용은 저가 이해한대로쓴것이며 주관적이고, 이 카테고리와 더불어 소켓에 대한 글을 쓴 목적은 복습하기위함입니다. 잘못된부분이있다면 댓글을 달아주세요. 사용한 언어는 STDC++11,14에서 정상작동확인되었으며, IDE는 DEVCPP를 사용했습니다 히헣 소켓에 대한 글을 처음써보기도하고 C언어를 배워왔지만 공부하면서 소켓이 개인적으로 제일 재밌는것같아요 ㅋㅋㅋ 먼저 저는 C언어를 개발할때 통합개발환경으로는 비주얼스튜디오보다는 devcpp를 거의 99% 사용합니다 왜냐면 엄청 가볍고 소스코드하나를 빨리빨리 만들수있죠 들어가서 Ctrl+N이면 그냥 바로만들수있기때문에 쓰는건데 비쥬얼스튜디오에서는 #pragma comment(lib,"ws2_32.lib") 이렇게치면은 winsock2.. 2020. 9. 18. 이전 1 다음