当前位置: 首页 > news >正文

公司网站建设策划wordpress反弹攻击

公司网站建设策划,wordpress反弹攻击,海南澄迈县,seo怎么收费的先来说说数据在网络上的传输过程吧#xff0c;我们知道系统其实终究是根据冯诺依曼来构成的#xff0c;而网络数据是怎么发的呢#xff1f; 其实很简单#xff0c;网络有五层。如下#xff1a; 如上图#xff0c;我们知道的是#xff0c;每层对应的操作系统中的那些地方…先来说说数据在网络上的传输过程吧我们知道系统其实终究是根据冯诺依曼来构成的而网络数据是怎么发的呢 其实很简单网络有五层。如下 如上图我们知道的是每层对应的操作系统中的那些地方有些可能说是网络有七层其实和这个五层一样的。下面我们说说数据是怎么运输的在网络中如下图 如上图其实数据在网络中是自顶向下然后在通过以太网的网线传输到另一个主机上在自底向上就可以收到了前提是在同一个局域网中如果不在一个局域网肯定会经过路由器的这里就不详细说了主要说说我们的udp协议。 我们知道了网络的五层那么每层其实都与对应的协议等。udp协议对应在传输层(运输层)。那么我们来看看如何用udp协议实现套接字编程吧。先来看看代码 #include iostream #include pthread.h #include sys/types.h #include sys/socket.h #include arpa/inet.h #include netinet/in.h #include cstdlib #include cstring #include unistd.h #include unordered_set #include unordered_map using namespace std; #define NUM 1024 int main(int argc, char *argv[]) {unordered_mapuint16_t,sockaddr_in usdate;// 创建套接字int sock socket(AF_INET, SOCK_DGRAM, 0);if (sock 0){cout sock enrro endl;exit(1);}// 绑定sockaddr_in se;memset(se, 0, sizeof(se));se.sin_family AF_INET;se.sin_port htons(atoi(argv[2]));se.sin_addr.s_addr inet_addr(argv[1]);int ret bind(sock, (sockaddr *)se, sizeof(se));if (ret 0){cout bind enrro endl;exit(2);}// 服务端 1.0版本// 可以开始读取// sockaddr_in reader;// socklen_t size sizeof(reader);// char buffer[NUM];// while (true)// {// ssize_t r recvfrom(sock, buffer, sizeof(buffer) - 1, 0, (sockaddr *)reader, size);// buffer[r] \0;// if (r 0)// {// cout buffer endl;// }// else// break;// sendto(sock, buffer, sizeof(buffer), 0, (sockaddr *)reader, size);// memset(buffer, 0, sizeof(buffer));// }// close(sock);// 服务器 2.0版本 实现群聊char buffer[NUM];memset(buffer, 0, NUM);sockaddr_in reader;socklen_t size sizeof(reader);while (true){ssize_t s recvfrom(sock, buffer, sizeof(buffer) - 1, 0, (sockaddr *)reader, size);usdate.insert(make_pair(reader.sin_port, reader));cout 插入成功 endl;cout ntohs(reader.sin_port) inet_ntoa(reader.sin_addr) # : buffer endl;if (s 0){for (const auto e : usdate)sendto(sock, buffer, sizeof(buffer), 0, (sockaddr *)(e.second), sizeof(e.second));memset(buffer, 0, NUM);}elsebreak;}close(sock);return 0; }#include iostream #include pthread.h #include sys/types.h #include sys/socket.h #include arpa/inet.h #include netinet/in.h #include cstdlib #include cstring #include unistd.h using namespace std; #define NUM 1024 void *reads(void *args) {// 线程分离pthread_detach(pthread_self());char buffer[NUM];// 清空buffermemset(buffer, 0, NUM);int *sc static_castint *(args);sockaddr_in reader;socklen_t len sizeof(reader);while (true){ssize_t s recvfrom(*sc, buffer, sizeof(buffer) - 1, 0, (sockaddr *)reader, len);if (s 0){cout buffer endl;memset(buffer, 0, NUM);}elsebreak;}return nullptr; } int main(int argc, char *argv[]) {int sock socket(AF_INET, SOCK_DGRAM, 0);if (sock 0){cout sock enrro endl;exit(1);}char buffer[NUM];memset(buffer, 0, NUM);pthread_t tid;pthread_create(tid, nullptr, reads, sock);sockaddr_in clinet;memset(clinet, 0, sizeof(clinet));clinet.sin_family AF_INET;clinet.sin_addr.s_addr inet_addr(argv[1]);clinet.sin_port htons(atoi(argv[2]));while (true){cout 你要输入 endl;cin buffer;ssize_t s sendto(sock, buffer, sizeof(buffer), 0, (sockaddr *)(clinet), sizeof(clinet));if (s 0)memset(buffer, 0, NUM);elsebreak;}close(sock);return 0; } 这是我的服务端和客户端的代码分了单人聊天和多人聊天。下面就讲解一下吧。 什么是端口号主机中能表示一个唯一的进程的编号 什么是ip地址其实ip地址是网络层对应的主机地址。 什么是mac地址这个网卡的地址一般出厂的时候就会确定且不能修改 什么是套接字IP端口号 我们首先可以根据套接字找到网络中唯一的一个主机上进程此处不考虑ip地址重复问题。假设ip地址不重复。所以我们要进行udp套接字编程首先要创建套接字。也就是我上图代码中的socket这个函数然后绑定地址和端口这个就可以用我们main函数中的参数了。创建完套接字和绑定完成以后我们就可以通信了我们用的这些函数其实就是系统调用是udp的一些函数暴露给用户层的系统调用。 大概知道了怎么用udp编程那么此时有些伙伴可能有些疑问了。我们在系统层面上pid也可以表示进程的唯一性为啥不用PID表示端口号呢其实也很简单原因就是网络层是这么表示的就好比你的名字一样在外面大家都叫你名字回到家家里面的人都叫你小名一样的道理。 然后就是有些人可能没有理解数据是怎么从下往上从上往下的。其实很好理解因我们在写代码的时候我们是属于用户层的。而我们传输层的系统调用接口那么说明他这个数据肯定是要进内核的而我们的另一个主机接收到信息后我们用的打印函数又是用户层的所以就类似于一个轮回。所以这样就可以很好的理解了。 然后就是一些编码的注意事项了在客户端我用了多线程来实现了读数据和写数据的解耦这个其实在单人聊天中没什么影响再多人聊天中就不可以了。假设单人聊天就要先发在读。因为再多人聊天中我们预期是一个人发多个人收如果还是用这个代码的话那么 如果开启服务端的时候多个人你同时建立连接那么此时如果有其中一个人发了信息并且假设其他人都没有发信息那么此时就会导致其他人卡在写的界面因为他们没有写所以没办法读信息。所以此时我们这里必须要实现成多线程一个写一个读读写解耦。两个互不影响。建议使用线程不用进程且不说多进程可不可以实现这个功能就算是实现了那么此时它的消耗是很大的。(多进程也可以实现这个功能)如果用多进程那么此时我们要考虑的是如何回收这个子进程肯定不可以阻塞等待如果用waitpid且不是阻塞等待的话那么此时我们要写成循环要不断去检测子进程是否完成任务。或是可以在子进程中在frok让孙子进程执行任务子进程退出此时就会形成孤儿进程会被1号进程领养所以不用担心资源泄露但是这样很明显很麻烦还不如用线程且消耗还比进程小。 以上就是这篇文章的内容希望大家支持如果对你有用希望支持一下
http://www.zqtcl.cn/news/3702/

相关文章:

  • 网站建设服务器可以租吗企业网站建设和维护
  • 用工备案的系统的网站北京实创装修公司官网
  • 制作网站首先要知道什么外贸网站建站方案
  • 世界球队最新排名百度上做优化一年多少钱
  • 建个网站做网络推广要花多少钱模板王网站官网
  • 玉溪的网站建设公司网站建设必须要备案吗
  • 景点介绍网站开发设计智能科技 光速东莞网站建设
  • 便民的网站app怎么做wordpress插件是什么
  • 微信公众号怎么开发小程序湖北seo优化诊断
  • 南宁seo 网站收录中国字体设计网站
  • 建设网站财务分析做响应式网站应该注意什么
  • 可以做淘宝店铺开关灯网站怎样创建一个网址
  • 装修平台自己做网站有几个平面设计学生作品集
  • 苏州网站建设费用数据库服务器
  • 移动端网站开发最好的环境免费logo设计在线生成器官网
  • 装修公司网站怎么做台州外贸网站建设
  • 有电脑网站怎么做手机网站杭州网站建设外包公司
  • 宿州城乡建设局网站搜索排名提升
  • 动漫网站在线免费观看在线设计公司logo图标
  • 网站建设与管理项目1项目规划工具磨床东莞网站建设
  • 网站源码怎么用推广项目的平台
  • 好友介绍网站怎么做杭州做网站下沙
  • wordpress异步加载插件seo百度站长工具查询
  • 手机网站整站模板下载东莞做一个企业网站
  • 网站一键生成手机网站做网站买那种服务器好
  • 同创企业网站源码怎样做视频直播网站
  • 如何做招聘网站的方案小程序雀神麻将开挂视频
  • 被墙网站怎么做301跳转宁波公司网站建立
  • 关于网站建设心得体会西湖区住房和城市建设局网站
  • 百度做的网站 后台管理怎么进入ui设计做网站