Network
Network
没事干写博客玩
真正的大师永远怀着一颗学徒的心。
展开
-
SOCKET_RAW 手动封装TCP协议
SOCKET_RAW 手动封装TCP协议还是笔记,移到博客来了。/*使用IP头包含选项创建原始套接字之后,再打开IP_HDRINCL 选项,即可在IP头中封装自己的协议,而不是仅仅使用系统预定义的协议。一般可以使用这种方法来发送UDP和TCP数据IP数据报格式:Version域:这4位指定了数据报的IP版本。对IPV4来说此域值为4.IHL(IP header length 的缩写):因为IP头长度不是固定的,所以需要这4位来确定IP数据报中数据部分的开始位置。大多数IP数据报不包含此原创 2020-12-13 21:18:39 · 676 阅读 · 0 评论 -
SOCKET_RAW 手动封装UDP协议
SOCKET_RAW 手动封装UDP协议还是笔记,移到博客来。/*使用IP头包含选项创建原始套接字之后,再打开IP_HDRINCL 选项,即可在IP头中封装自己的协议,而不是仅仅使用系统预定义的协议。一般可以使用这种方法来发送UDP和TCP数据IP数据报格式:Version域:这4位指定了数据报的IP版本。对IPV4来说此域值为4.IHL(IP header length 的缩写):因为IP头长度不是固定的,所以需要这4位来确定IP数据报中数据部分的开始位置。大多数IP数据报不包含此选项原创 2020-12-13 21:17:19 · 761 阅读 · 0 评论 -
SOCKET 广播消息
SOCKET 广播消息还是笔记,移过来了// 广播消息.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。////其实和UDP是没什么区别,就是多了个BROADCAST 的设置。。。。。//这次因为无聊 所以看看MAKEWORD 到底做了什么,和我的想法一样吗,结果是,它的做法比我强。。#include "pch.h"#include <iostream>#include <winsock2.h>#include <process.h&原创 2020-12-13 21:15:37 · 295 阅读 · 0 评论 -
SOCKET IP多播
IP多播以前的笔记,注释都在代码里,移过来了。// IP多播.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include <iostream>#include <process.h>#include <WinSock2.h>#include <ws2ipdef.h>#pragma comment(lib,"ws2_32.lib")#pragma warning(disabl原创 2020-12-13 21:13:29 · 817 阅读 · 0 评论 -
SOCK_RAW 实现ICMP路由追踪
SOCK_RAW 实现ICMP路由追踪#include <pch.h>#include <iostream>#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <winsock2.h> #include <ws2tcpip.h>using namespace std; #pragma comment(lib, "Ws2_32.lib") //IP报头typedef struct IP原创 2020-12-13 21:11:51 · 427 阅读 · 0 评论 -
SOCK_RAW ICMP 协议 PING
SOCK_RAW 实现ICMP以前的笔记,移过来了。ICMP需要使用 原始套接字。原始套接字是允许访问底层传输的一种套接字协议,它们可能会被恶意利用,因此 仅 Administrator用户组有权限创建SOCK_RAW类型的套接字。任何人在NT下都可以创建原始套接字,但没有Administrator权限的人不能用它做任何事情,因为bind函数会直接返回错误,错误码:WSAEACCESS。如果需要绕开管理员权限,可以使用windows提供的IcmpSendEcho系列函数。在发送ping请求的时候原创 2020-12-13 21:10:24 · 861 阅读 · 0 评论 -
SOCKET IOCP( 二)
SOCKET IOCP 二便于理解小帮手实现SOCKET IOCP 一上一篇文章我们使用的是accept进行监听,而收发使用的是IOCP方式,但是这样在监听阶段时是阻塞状态,这篇文章我们通过AcceptEx方式来完全异步处理。便于理解小帮手因为我们要使用AcceptEx,我们需要想到的是,在上一篇文章我们在Accept监听到之后再与完成端口建立关联但是想要完全异步的处理,我们需要在...原创 2020-05-02 21:13:24 · 265 阅读 · 0 评论 -
SOCKET IOCP( 一)
SOCKET IOCP 一引言便于理解小帮手Accept 方式的IOCP代码引言最近又有空了,但是最近看见很多关于Java netty的东西,大家想到最多的就是NIO,事实上我这里要科普一下netty在windows下我想应该使用的是select并不是iocp,所以性能会和linux上有很大差距,我个人觉得netty的nio不是netty牛X的重点,而是它在Java中池化内存等等,但这并不妨...原创 2020-05-02 20:57:20 · 582 阅读 · 0 评论 -
SOCK_RAW 写一个简单的网络嗅探器
之前有一篇写UDP反射放大攻击的为什么IP头和UDP头可以伪造,看下面的TCP自己想一想就知道了一般情况下我们使用的都是封装好的TCP或UDP协议。但事实上我们可以自己封装和解析。注意:SOCK_RAW 程序必须有管理员权限简单实现代码/*通常的套接字只能响应与自己MAC地址相匹配的或是以广播行事发出的数据帧。对于其他形式的数据帧网路接口采取的动作是直接丢弃。为了使网卡接收所有经...原创 2020-04-11 09:02:16 · 779 阅读 · 0 评论 -
TCP三次握手和四次挥手
TCP三次握手和四次挥手TCP 三次握手TCP 四次挥手TCP 三次握手看图就明了这里主要说明一下 为什么TCP建立连接不是4次很简单 因为TCP是全双工,所以服务端接收到请求后可以将ACK和SYN一起发送,客户端最后只需要一次ACK下面会说既然是全双工为什么挥手要4次不是3次TCP 四次挥手上面既然说了TCP是全双工,为什么断开连接不是3次而是4次?看看具体过程...原创 2020-04-10 13:22:55 · 172 阅读 · 0 评论 -
Windows和Linux IO模型简单介绍
Windows和Linux IO模型简单介绍Socket IO模型Windows下的Socket IOLinux下的Socket IO两个操作系统下IO模型的区别差异Socket IO模型IO模型相信大家都很熟悉,主要就分下面几种:同步异步阻塞非阻塞同步和异步就不多解释了,下面主要分析一下阻塞。很多人会将异步和非阻塞搞混,异步一定是非阻塞的吗?阻塞:指调用结果返回之前,当前...原创 2020-04-10 11:23:13 · 866 阅读 · 0 评论