网络编程
文章平均质量分 77
繁华落尽梦一场-
这个作者很懒,什么都没留下…
展开
-
基于ARP和WinPcap的网络嗅探
WinPcap是windows下的一个开源库,简单来说就是用户自己可以发送数据包,比如windows XP之后就不能用socket发送SYN数据包了,因为操作系统进行了封装。所以想要发送自己的数据包,就要绕开操作系统,WinPcap就提供了这样的功能。 再说ARP——地址解析协议,ARP是数据链路层的协议。一般来说,一个局域网会用一个或多个路由器与Internet连接,那么当外部数据要原创 2015-04-03 16:40:43 · 615 阅读 · 0 评论 -
windows下获取mac地址的两种方法
在Windows下可用用微软的API获取网卡的MAC地址,也可以用WinPcap来获取。方法一:调用WindowsAPI获取。#include #include #pragma comment(lib, "IPHLPAPI.lib")#include #include bool GetMacByGetAdaptersAddresses(std::string&原创 2015-04-07 23:10:57 · 3389 阅读 · 0 评论 -
基于winpcap和syn的dos攻击,亲测
网上这样的帖子很多,但有几个问题一直没解决。1、在计算TCP报头的校验和时应该还有伪报头,很多人都没有。2、在封装以太网数据包时需要用到目的地址的mac地址,由于很多人是在虚拟机上测,目的mac也就知道,但事实上,对于真正的远端主机来说,我们只能获取它的IP地址,而mac地址是无法获取的。而事实上,这儿的目标mac应该写的是网关mac地址。下面看我一步一步写syn攻击。一、首先要清原创 2015-04-21 14:02:58 · 3931 阅读 · 1 评论 -
TCP/IP中那些令人豁然开朗的说明
1、ACK报文段永远不需要被确认。我不知道大家有没有这么想过:在TCP通过三次握手建立连接的时候,最后一次握手是客户端对服务器的ACK报文,那么客户端怎么知道这个ACM报文确实被服务器收到了呢?照这么来说,服务器是不是有需要给客户端返回一个ACK,这样就死循环下去。。。“ACK报文段永远不需要被确认”这句话是我在书上看到的,书上也没说原因,那就信了吧,至于真正的原因,以后慢慢找。原创 2015-04-27 11:26:36 · 606 阅读 · 0 评论 -
winpcap实现从TCP三次握手到发送http请求
之前的文章我都是贴出了协议的格式,对具体字段没有具体说明,今天在这里补充一下。/* IP报文格式0 8 16 32+------------+------------+-------------------------+| ver + hlen | 服务类原创 2015-04-23 12:07:36 · 5546 阅读 · 5 评论 -
TCP中用到的定时器
TCP为每条连接建立七个定时器:1、 连接建立定时器在发送SYN报文段建立一条新连接时启动。如果没有在75秒内收到响 应,连接建立将中止。当TCP实例将其状态从LISTEN更改为SYN_RECV的时侯就会使用这一计时器.服务端的TCP实例最初会等待一个ACK三秒钟.如果在这一段时间没有ACK到达,则认为该连接请求是过期的.2、 重传定时器在TCP发送数据时设定.如果定时器已超时而对端的原创 2015-08-14 12:04:55 · 647 阅读 · 0 评论