![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络开发
foxavideo
这个作者很懒,什么都没留下…
展开
-
UDP 穿透NAT解析 TCP 穿透NAT解析
http://www.west263.com/info/html/caozuoxitong/FreeBSD/20090513/126168.html原创 2010-09-20 17:10:00 · 2503 阅读 · 2 评论 -
IP 组播
先澄清一下几个概念:IP 组播, UDP组播, UDP多播。后两者从字面上就可以看出是同一个东西,但是前两者之间就比较难以区分了,首先看最前面的字母,IP, UDP,明显不是一回事,但是其实他们是一回事。到底怎么理解呢?那让我们先看看IP 组播是怎么一回事。我们引用一段英文解释:IP multicast is a technique for one-to-many and many-to-many real-time communication over an IP infrastructure in a原创 2010-11-03 18:31:00 · 1165 阅读 · 0 评论 -
抓包分析TCP三次握手
我们都知道TCP的连接的建立是通过三次握手,连接的断开是通过四次挥手完成。大部分人是从大学网络老师的讲课中得知,或者从baidu或者google搜索学习这一过程。但是这些都是理论的,并且很难被记住。 今天我们就通过抓包的方式,用抓到的实际的包来分析这一过程的建立。 我们所使用的抓包工具是:Microsoft Network Monitor 3.4. 硬件环境是:一原创 2011-04-29 10:09:00 · 3785 阅读 · 4 评论 -
linux效率优于select的epoll模型
http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.html原创 2010-09-24 23:21:00 · 1639 阅读 · 0 评论 -
并发服务器研究
<br />http://www.kegel.com/c10k.html原创 2010-09-28 17:41:00 · 828 阅读 · 0 评论 -
获取IP地址getsockname gethostname
getsockname和gethostname都能获取IP地址,但是还是有却别的:getsockname: 是获取跟某一特定的socket相关的IP地址。gethostname: 是获取本机的所有的IP地址。先来看下他们的获取Ip地址的方式。getsockname方式:sockaddr_in test;int len = sizeof(test);if ( 0 == getsockname( m_socket, ( struct sockaddr* )&test, &len )){char *pIPAd原创 2010-12-22 20:12:00 · 3702 阅读 · 0 评论 -
TCP三次握手及四次挥手详细图解
http://blog.chinaunix.net/u3/105675/showart_2201855.html原创 2010-10-09 17:56:00 · 964 阅读 · 1 评论 -
关于ping不通的可能原因
工作中经常发生相互之间ping不同的事情. 有很多中可能会导致这种情形的发生. 这里只列出几种: 1. 机器网路本身有问题, 如网卡出现故障, 网卡驱动没有安装, 或者是网络协议没有安装. 这种问题可以通过测试自身网络回路来分析: ping 127.0.0.1 2. 如果自身网络没有问题, 看是不是路由器屏蔽掉了ping命令. 如何监测是属于这种情况了, 那就是看看连在该路由器下原创 2009-11-23 14:36:00 · 2065 阅读 · 0 评论 -
recv或者recvfrom
recv和recvfrom都是用来接受来自的网络的数据。来看看它们的原型:int recv( SOCKET s, char FAR *buf, int len, int flags );int recvfrom( SOCKET s, char FAR*buf, int len, int flags, st原创 2010-09-16 12:12:00 · 4526 阅读 · 0 评论 -
网络编程的好blog
<br />http://www.cnblogs.com/Solstice/MyPosts.html<br /> <br />http://code.google.com/edu/parallel/dsd-tutorial.html原创 2010-11-10 18:56:00 · 750 阅读 · 0 评论 -
Stun开源项目
Development Status: 2 - Pre-AlphaEnvironment: No Input/Output (Daemon)Intended Audience: EducationLicense: GNU General Public License (GPL)Natural Language: English, RomanianOper原创 2012-01-05 17:21:58 · 1736 阅读 · 0 评论 -
ICMP Ping Tracert
一下材料摘抄自:http://hi.baidu.com/five_cent/blog/item/23f4876c76205af042169467.htmlhttp://www.cell--phone-411.com/action-viewnews-itemid-23183.htm转载 2011-07-26 14:18:09 · 839 阅读 · 0 评论 -
网卡如何接受和发送数据
网卡如何发送数据包:IP报文可以看作一个包。linux网卡驱动程序,将IP包添加14字节的MAC包头,构成MAC包。MAC包中含有发送端和接收端的MAC地址信息。既然是驱动程序创建的MAC包头信息,当然可以随便输入地址信息的。主机伪装就是这么实现的。驱动程序将MAC包拷贝到网卡芯片内部的缓冲区,就算完事了。有网卡芯片接手处理。网卡芯片对MAC包,再次封装成物理帧转载 2013-07-16 11:14:25 · 1518 阅读 · 0 评论 -
不错的介绍网络通信的博客
http://blog.csdn.net/IOKE/article/category/44030/2原创 2012-01-05 15:50:00 · 560 阅读 · 0 评论 -
STUN简介【转】
以下文字转自:http://blog.163.com/hlz_2599/blog/static/142378474201142524637573/ STUN简介 NAT的UDP简单穿越 2011-05-25 14:46:37| 分类:VoIP | 标签:nat stun 端口 binding udp |字号大中小 订阅STUN(Simpl转载 2012-01-05 16:48:03 · 653 阅读 · 0 评论 -
https客户端的实现
https = http + sslssl = secure socket layer如果使用c/c++的话,那么libcurl将会是一个非常不错的选择。官网地址是:http://curl.haxx.se/libcurl/c/c和c++的库都有。不过它本山是由c实现,c++的库只是对c的实现做了一个封装而已。因为它是用c实现的,因此扩平台就很原创 2012-08-21 10:35:11 · 925 阅读 · 0 评论 -
关于Filezilla是否支持sftp
我们知道filezilla是一个开源的ftp的解决方案,它提供了客户端和服务器端,支持的fpt, sftp, ftps,这是你可以从wiki中看到的关于filezilla的介绍,但是这里需要澄清一点就是对sftp的协议的支持,只有filezilla客户端支持,而服务器并没有支持,因此关于的支持情况如下:filezilla client - ftp, sftp, ftpsfile原创 2012-08-14 12:00:49 · 3638 阅读 · 0 评论 -
使用PCAP创建你的sniffer
利用pcap你可以截取你网卡的所有的包,创建你自己的网络嗅觉器(sniffer)pcap是一个用C写的,基于BSD授权协议的,抓取网络包的工具。pcap代表是的packet capture,就是包截取。它有2个版本,unix-based的操作系统下面的libpcap和windows下面的winpcap。 有了这个包,你可以很轻松的截取你网卡的中所有数据包。下面简单说说怎么使原创 2013-07-15 18:34:53 · 1221 阅读 · 0 评论 -
SSL 与 数字证书 的基本概念和工作原理
前言SSL是让人头大的东西,看起来很复杂,我学过信息安全课,但是对SSL仍然是模糊一片。对于数字证书也是一知半解,从来没有去认真研究过。只知道个大概,“反正就是对称加密和非对称加密”,详细的就不懂了。其实这些跟操作系统,计算机体系结构一样,是基础知识,即使你不是专门研究信息安全的,即使你平时用不到,这些东西也应该是必须了解的~ It’s not rocket science!我这篇文章转载 2012-08-07 14:48:41 · 1746 阅读 · 0 评论 -
windows平台实现http/https客户端
在windows平台上使用c++实现http/https客户端可以有3个选择:1. libcurl这个是开源库。2. wininet3. winhttp原创 2012-08-27 18:18:34 · 1820 阅读 · 0 评论 -
利用sftp来上传你的文件
在开始介绍如何使用sftp之前,先简单说明一下sftp和ftps不是一回事情,很多人把这2个协议搞混了,有人还把Filezilla配置ftps来说明怎么利用filezilla如何配置sftp。其实filezilla服务端是不支持sftp协议的,客户端支持。我们ftp不是一个安全的协议,其发送的内容很都是以明文的方式发送,包括用户名,密码还有文件内容。因此后来又引入了 secure ft原创 2012-08-21 10:16:40 · 3257 阅读 · 0 评论 -
用telnet来测试你自己写的TCP服务器
有时候我们写一个tcp的服务器程序,需要让客户端发起一个连接,来验证是否能正确的绑定到端口接受连接接受数据通常我们需要写一个客户端,但是如果你用telnet的话,那就不用为了上面的这个目的而写一个客户端了。也许你会说,telnet不是用的是23端口吗?除非你的程序绑定到23端口,但是那也不可能啊,因为23已经被telnet的服务器给占用了啊,怎么可能做到?从原创 2013-06-07 16:13:14 · 2937 阅读 · 0 评论 -
ping和tracert命令详解
ping和tracert命令详解Ping这个应该大家都会用的吧,最主要的就是检测目标主机是不是可连通。Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答。然后打印出回显的报文。Ping不通一个地址,并不一定表示这个IP不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此Ping不通并不表示不能使用FTP或者TELNET连接。PI转载 2012-07-03 12:05:32 · 989 阅读 · 0 评论 -
vs2005编译Openssl
Openssl是ssl和tls的开源的免费的实现库。那ssl和tls又是什么呢?ssl=secure socket layer 安全套接字层tls=transport layers security 传输层安全我们的https是怎么来的呢?其实https = http + ssl要使用op原创 2012-08-03 15:24:45 · 962 阅读 · 0 评论 -
边缘触发(Edge Trigger)和条件触发(Level Trigger)
以下内容摘自网络: 边缘触发是指每当状态变化时发生一个io事件,条件触发是只要满足条件就发 生一个io事件。举个读socket的例子,假定经过长时间的沉默后,现在来了100个字 节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程 序可读。应用程序读了50个字节,然后重新调用api等待io事件。这时条件触发的api会 因为还有50个字节可读从而立即返回用户一个read ready notification。而边缘触发 的api会因为可读这个状态没有发生转载 2010-11-05 10:24:00 · 1337 阅读 · 0 评论