加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

“黑客”深度学习之“Socket网络编程详解”

发布时间:2019-02-14 08:11:48 所属栏目:建站 来源:信息安全我来讲你来听
导读:大家都是知道在黑客网络攻防中,熟悉网络通信原理很重要,之前我也写过相关文章,只要了解通信过程,就可以利用过程中存在的漏洞进行攻防,那么在实现攻防的时候,作为一名黑客一定要学会网络编程,而网络编程中很重要的一个环节就是Socket的学习和使用!

对应的服务端的代码:

  1. [cpp]  
  2. #include <winsock2.h>  
  3. #include <stdio.h>  
  4. #pragma comment(lib,"ws2_32.lib")  
  5. int main()  
  6. {  
  7. //创建套接字,,socket前的一些检查工作,包括服务的启动  
  8. WORD myVersionRequest;  
  9. WSADATA wsaData;  
  10. myVersionRequest=MAKEWORD(1,1);  
  11. int err;  
  12. err=WSAStartup(myVersionRequest,&wsaData);  
  13. if (!err)  
  14. {  
  15. printf("已打开套接字 
  16. ");  
  17. }  
  18. else  
  19. {  
  20. //进一步绑定套接字  
  21. printf("嵌套字未打开!");  
  22. return 0;  
  23. }  
  24. SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);//创建了可识别套接字  
  25. //需要绑定的参数,主要是本地的socket的一些信息。  
  26. SOCKADDR_IN addr;  
  27. addr.sin_family=AF_INET;  
  28. addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//ip地址  
  29. addr.sin_port=htons(6000);//绑定端口  
  30.  
  31. bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR));//绑定完成  
  32. listen(serSocket,5);//其中第二个参数代表能够接收的最多的连接数  
  33.   
  34. SOCKADDR_IN clientsocket;  
  35. int len=sizeof(SOCKADDR);  
  36. while (1)  
  37. {  
  38. //第二次握手,通过accept来接受对方的套接字的信息  
  39. SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);//如果这里不是accept而是conection的话。。就会不断的监听  
  40. char sendBuf[100];  
  41. sprintf(sendBuf,"welcome %s to bejing",inet_ntoa(clientsocket.sin_addr));//找对对应的IP并且将这行字打印到那里  
  42. //发送信息  
  43. send(serConn,sendBuf,strlen(sendBuf)+1,0);  
  44. char receiveBuf[100];//接收  
  45. recv(serConn,receiveBuf,strlen(receiveBuf)+1,0);  
  46. printf("%s 
  47. ",receiveBuf);  
  48. closesocket(serConn);//关闭  
  49. WSACleanup();//释放资源的操作  
  50. }  
  51. return 0;  
  52. }  

三、 Socket下的函数详解

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读