EAP SOCKET Implement Mentohust 时间:20161115,大二上 ## 准备. 什么是 EAP 协议 ? WIKI : https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol RFC : https://tools.ietf.org/html/rfc3748 中文 : http://blog.ptsang.net/details_about_802_1x_in_campus_authentica…
EAP SOCKET Implement Mentohust 时间20161115 对于EAP协议不了解,可参考上一篇随笔. 通过抓包分析校园网的锐捷登录流程,我在上一篇随笔中实现了EAPSOCKET这个类, 准备 原因 周末尝试了一下windows(自带?)的虚拟机Hyper-V(它的虚拟机好像必须通过虚拟机的网卡才能上网),多次尝试后蛋疼的锐捷疯狂断网,于是我很气啊!!!!!! 但是那天觉得破解锐捷不如自实现锐捷认证,于是有了以下内容. 实现 能看出锐捷的验证方式是802.1x的EAP协议,…
大家好,本次我们须要完毕的任务是: 完毕两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 使用帧完毕两台主机的通信(Hello! I'm -) 声明:本文章的目的是为大家的Winpcap编程带来一定的借鉴,希望对大家的课程设计有一定的帮助.总之,我相信,大家看了前几篇 Winpcap 编程基础知识,再加上这篇文章的解说,一步一步做下来,相信你能成功的. P.S. 对Winpcap编程的基础知识有一定了解的就不用再去费工夫学习咯.我也是一点一点学习的.在此提供给大家一个…
转自:http://www.cnblogs.com/blacksword/archive/2012/03/19/2406098.html WinPcap可能对大多数人都很陌生,我在这里就先简单介绍一下它是什么吧~~这里我们先看一下来自维基百科中对于pcap的解释吧! In the field of computernetwork administration, pcap (packet capture) consists of an application programming interfa…
0. 这一次具体讲抓包的两种方法. (建议)清除ARP表,最好自己写个批处理命令.快一点. 1.0 抓包步骤 步骤很简单:先打开适配器列表 --> 选择适配器 --> 通过遍历链表的方式到达你选择的适配器位置 --> 打开设备 --> 开始抓包. 每一个步骤都是一个函数.了解步骤,后面就好办. 首先,了解一个数据类型pcap/pcap_t.它代表一个打开的设备,理解成它就是适配器就行(实际上是这个适配器的描述符).这个结构体对用户来说是不透明的,它通过wpcap.dll提供的函数,…
网络编程TCP协议-聊天室(客户端与服务端的交互); <span style="font-size:18px;">1.客户端发数据到服务端.</span> <span style="font-size:18px;">2.</span><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif;">服务端接…
网络编程--TCP协议.UDP协议.socket套接字.粘包问题以及解决方法 TCP协议(流式协议) ​ 当应用程序想通过TCP协议实现远程通信时,彼此之间必须先建立双向通信通道,基于该双向通道实现数据的远程交互,该双向通道直到任意一方主动断开才会失效 TCP协议的"三次握手" 和 "四次挥手" 三次握手 建连接 ​ 1.客户端向服务端发送建立连接请求 ​ 2.服务端返回收到请求信息,同时向客户端发送连接请求 ​ 3.客户端接收到服务端发来的请求,返回连接成功给服务…
参考: http://blog.csdn.net/sunyc1990/article/details/50773014 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实…
本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part4.aspx 源码下载:http://www.tracefact.net/SourceCode/Network-Part5.rar 文件传输 前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件.比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1.S2或S3(S为Send缩写)时,分别向服务端发送文件C…
1.过滤器设置 设置过滤器,得到你想要的哪种类型的包.Like WireShark. 过程:编译过滤器,然后设置过滤器.直接上参考文档的代码: if (d->addresses != NULL) /* 获取接口第一个地址的掩码 */ netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr; else /* 如果这个接口没有地址,那么我们假设这个接口在C类网络中 */ netmask=…
/* 程序功能: 1.构造arp包,并发送.程序参数顺序:源IP.目的IP.mac地址.flag 2.获取网络中的ARP数据包,解析数据包的内容.程序参数:日志文件名 winpacp中文技术文档(基本是英文的):http://www.ferrisxu.com/WinPcap/html/index.html */ 一.构造arp包 在构造之前先了解一下arp包的结构,先从网上找了张图 从图中可以看出以太网首部占14字节,以太网ARP字段占28字节.其中op字段为操作类型,1表示ARP请求.2表示A…
之前用winPcap做过一个拦截网络数据包的程序,作为当时的网络编程课程的课程设计,现在重新学习一下. 工具:codeblocks 要用到的一些东西:WinPcap.exe与winPcap一些库文件 还有winsock库 1.配置这些库文件: 前两个是winPcap的文件,我直接将它们放到MinGW的目录了. 最后一个是网络编程需要使用的winsock库 2. 如上,因为将winPcap的库文件全部放到了winGW目录下,方便管理. 附: winsock库文件下载地址:http://downlo…
问题聚焦:     本节从如下四个方面讨论TCP协议:     TCP头部信息:指定通信的源端端口号.目的端端口号.管理TCP连接,控制两个方向的数据流     TCP状态转移过程:TCP连接的任意一端都是一个状态机     TCP数据流:两种主要类型:交互数据流,成块数据流     TCP数据流的控制:保证可靠传输和提高网络通信质量,两个方面:超时重传,拥塞控制 1 TCP服务的特点 传输层协议:TCP协议.UDP协议 TCP协议相对于UDP协议的特点:面向连接.字节流和可靠传输.      …
1 IP服务特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通信双方不同步传输数据的状态信息,因此IP数据包的发送.传输和接收都是无序的.     缺点:无序,不可靠         优点:简单.高效 不可靠:不能保证IP数据报准确地到达接收端,它只是承诺尽最大努力.发送端(转发端)一旦检测到IP数据包发送失败(如存活时间过长,数据报不正确),就通知上层协议发送失败,而不会试图重传.               因此使用IP服务的上层协议(如…
socket是什么 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议. 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的. 也有人将socket说成ip+port,ip是用来标识互联…
Socket是网络编程的一个抽象概念.通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 客户端 大多数连接都是可靠的TCP连接.创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器. 举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接.如果一切顺利,新浪的服务器接受了我们的连接,一个TCP连接就建立起来的,后面的通信就是发送网页内容了. 所以,我们要…
HTTP协议的定义 这篇文章暂时不研究HTTP底层的TCP/IP的握手和挥手过程,只从表面的交互流程分析HTTP协议. HTTP英文全称是Hypertext Transfer Protpcol,也就是超文本传输协议.HTTP是一个标准,定义了Web客户端如何与服务器对话以及数据如何从服务器传回到客户端.在日常开发和使用过程中,HTTP经常被认为是一种用于传输HTML文件和文件中内嵌的图片的协议或者手段,实际上HTTP是一种通用的网络数据传输格式,它的传输内容不仅仅局限于HTML文件或者图片,也可…
1.TCP程序概述 TCP是一个可靠的协议,面向连接的协议. 实现TCP程序,需要编写服务器和客户端,Java API为我们提供了java.net包,为实现网络应用程序提供类. ServerSocket:此类实现服务器套接字. Socket:此类实现客户端套接字(也可以就叫"套接字"). Socket是网络驱动层提供给应用程序编程的接口和一种机制. 2.数据发送过程 3.数据接收过程 4.实现服务器端与客户端程序 服务器端: public class ServerSocket exte…
下面,我将以 乱世隋唐页游 为例,通过编码获取这里面的数据. 游戏图: 我是乱世隋唐的网址是:www.917st.com 这个是官网网址的服务器地址.  42.62.0.14 我玩的游戏服是84区.网址是:www.s84.917st.com 我所在区的服务器地址是: 42.62.0.7 winpcap里有一个过滤器字符串.凡是发送给这个服务器的内容,我都要获取到.我们需要设置它为:dst host 42.62.0.7    表示目标主机地址是42.62.0.7 如果我要获取从这个服务器发来的数据…
OSI网络七层协议 为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准.OSI网络七层协议就是在这个基础上制定出来的,其从最底层开始依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层. 各层主要功能 物理层:使原始的数据比特流能在物理介质上传输数据链路层:通过校验,确认和反馈重发等手段,形成稳定的数据链路网络层:进行路由选择和流量控制(IP协议)传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)会话层:负…
socket套接字编程  套接字介绍  1. 套接字 : 实现网络编程进行数据传输的一种技术手段  2. Python实现套接字编程:import  socket  3. 套接字分类 >流式套接字(SOCK_STREAM): 以字节流方式传输数据,实现tcp网络传输方案.(面向连接--tcp协议--可靠的--流式套接字)  >数据报套接字(SOCK_DGRAM):以数据报形式传输数据,实现udp网络传输方案.(无连接--udp协议--不可靠--数据报套接字) tcp套接字编程  服务端流程  …
三次握手原理解析 TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态: 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕…
0. 按着文档顺序写的. 开发环境:win10+VS2013. 配置WinPcap环境就不多说.直接给网址:http://blog.sina.com.cn/s/blog_57432f380101qh3n.html 内容大多是函数解释+碰到的问题的解决方案.学习&&警示. 1.获取适配器列表 获取适配器的目的是:获取本机有哪些适配器,便于之后选择用哪个适配器抓包. 首先,先了解一个数据类型pcap_if/pcap_if_t,这是一个链表结构,用来存储本机的所有适配器. struct pcap…
计算机网络课设要求用WinPcap写对ARP包的接收与发送. 所以学了一下WinPcap的内容. 参考的博客: http://blog.csdn.net/htttw/article/details/7521053 http://www.cnblogs.com/yingfang18/archive/2010/11/27/1889596.html http://www.cnblogs.com/wangshuo/archive/2011/07/23/2114680.html [表示感谢] 参考文档地址…
之前为了自己做一套SSH,先自己实现了一套telnet.但经过这么多天的苦逼,发现以前的工作都是徒劳.ssh的协议很繁杂,核心的内容在于密码算法,而且自己很难在网上找到周全的细节讲解与详细的实现,只有靠自己刷RFC和问大神还有就是靠强X我的服务器艰难地完成. 现计算了下时间,自己做SSH耗费了进两个月的时间,虽然期间也夹着其他的繁杂事物,但自己在这方面确是是耗费了非常大的精力.因为这方面详细资料的匮乏,自己以前也几乎没有接触过密码学方面的东西,很多只有靠自己摸索,所以我得经常拿我自己的服务器来做…
SSh协议: 全称为Secure Shell,即很安全的shell,主要目的是用来取代传统的telnet和r系列命令(rlogin,rsh,rexec等)远程登录和远程执行命令的工具,实现远程登录和远程执行命令加密,防止由于网络监听而出现的密码泄露,从而对系统构成威胁.(telnet协议采用明文传送密码,数据传送过程中也不加密) ssh协议目前有ssh1 和ssh2,其实现在我们主要使用的也是openssh.ssh不仅在登录过程中对密码进行加密传送,而且在登录后执行的命令的数据也进行加密,这样即…
这一次要分析的实例程序跟上一讲非常类似(“打开适配器并捕获数据包”),略微不同的一点是本次将pcap_loop()函数替换成了pcap_next_ex()函数.本节的重点也就是说一下这两个函数之间的差异.我们知道pcap_loop()函数是基于回调的原理来进行数据捕获的,如技术文档所说,这是一种精妙的方法,并且在某些场合下,它是一种很好的选择.但是在处理回调有时候会并不实用,它会增加程序的复杂度,特别是在多线程的C++程序中.而对于pcap_next_ex()函数而言,可以通过直接调用它来获得一…
在贴源码之前先介绍一个将要用到的很重要的函数--pcap_open(),下面是pcap_open()在remote-ex.h中的声明: pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf); 第一个参数不用多说,它表示的是设备的名称.在获取适配器链表后,通过返回数据域name即可知道设备的名称. 第二个参数制定…
显示适配器详细信息 先贴上代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "pcap.h" #include <winsock2.h> typedef struct sockaddr_in sockad; /* 从tcptraceroute数字IP地址转换为字符串 */ #define IPTOSBUFFERS 12 char *iptos(u_…
首先要读一下这一页的东西:http://www.winpcap.org/docs/docs_412/html/group__wpcapsamps.html 可以结合中文版本看http://www.ferrisxu.com/WinPcap/html/group__wpcapsamps.html 创建一个使用 wpcap.dll 的应用程序 用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按一下步骤: 在每一个使用了库的源程序中,将 pcap.h 头文…