
网络编程
mincheat
Be best of yourself
展开
-
socket阻塞与非阻塞,同步与异步、I/O模型
socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做转载 2015-08-17 11:19:54 · 563 阅读 · 0 评论 -
FTP主动被动模式(PORT PASV)
FTP 主动被动概念这里就不说了,网上太多了,下面是个人的一点例子,总结Port模式 (主动模式) Client(192.168.0.101) Server (10.251.30.69)Client->Server Request: PORT 192,168,0,101,206,177Server->Client Response: 200 PORT co原创 2017-09-08 14:54:34 · 3079 阅读 · 0 评论 -
RTP 有效负载(载荷)类型,RTP Payload Type
版权声明:本文为灿哥哥http://blog.youkuaiyun.com/caoshangpa原创文章,转载请标明出处。PT Encoding Name Audio/Video (A/V) Clock Rate (Hz) Channels Reference 0PCMUA80001[RFC3551]1转载 2017-04-17 15:06:18 · 3371 阅读 · 0 评论 -
sdp文件详细总结
一概述:SDP目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。典型的会话传送协议包括:SAP(Session Announcement Protocol会话公告协议),SIP(Session Initi转载 2017-04-17 15:05:48 · 711 阅读 · 0 评论 -
rtp,rtcp网络音视频写入(avi)文件,音视频同步方案
一、背景将网络中的音视频流抓取下来并写入到avi文件,要做到使用其他播放器直接播放出来,音视频是同步的。二、关于aviAvi文件结构(解析)我这里就不多讲了,网络上资料多得是。但是要知道播放器在播放avi文件的时候,会将音频视频分开,使用各自的播放时钟速率播放(音频是使用采样率和量化精度, 视频是帧率),而avi文件本身是无法存放timestamp的,所以在写文件之前通过网络协议对音视原创 2017-04-19 18:10:14 · 2335 阅读 · 0 评论 -
网卡的几种工作模式
网卡的几种工作模式 改变模式需用程序实现如Sniffer类的软件一般都采用将网卡设置成混杂模式来获取数据包,设为混杂模式之后,因为网卡会接收所有能够接收到的数据,所以这个时候的数据量非常大,所以在设置为混杂模式同时,一般要设置过滤条件。sniffer之类的软件将网卡设置为混杂模式,只是供自己监听数据(根据用户的要求自动设置过滤条件),在这类软件退出之后会自动将网卡还原为正常工作模式转载 2017-03-10 17:20:35 · 15748 阅读 · 0 评论 -
用C++抓取网络数据包--嗅探器的设计原理
嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所转载 2017-03-10 17:19:59 · 1959 阅读 · 0 评论 -
MAC、IP头、TCP头、UDP头帧格式、详解
一、MAC帧头定义typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层协议类型,如0x0800代表上一层是IP协议,0x0806为arp转载 2017-03-10 10:33:19 · 14861 阅读 · 0 评论 -
TCP序列号和确认号详解
TCP序列号和确认号详解在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们 学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯 的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是 我学习转载 2017-03-09 15:27:36 · 4249 阅读 · 0 评论 -
Listen第二个参数的意义
随笔 - 71 文章 - 61 评论 - 32 Listen第二个参数的意义 今天主要回顾下listen的第二个参数的意义。 话说现在现在都是用框架写业务代码。真的很少在去关注最基本的socket函数的意义了。该忘得都忘得差不多了。~~~ 要慢慢捡起来。 主要是在看redis网络这块的时候它的第二个参数设置的是500多转载 2016-09-26 16:46:54 · 429 阅读 · 0 评论 -
FTP,TFTP网络数据流文件还原及异步存储设计
一、背景现需要通过抓取的FTP, tftp网络数据包,进行分析(解析),并拿到里面对应的上传下载文件,将文件还原到本地,同时要考虑高并发(上万条网络流同时进行)的情况。 二、分析FTP, TFTP数据首先要想还原文件,必须要知道以下几个条件:对应的传输文件流的TCP流信息(srcip,srcport, dstip, dstport),上传还是下载的文件名,主被动模式,传输方式。原创 2017-11-02 11:31:44 · 1653 阅读 · 0 评论