
网络
文章平均质量分 71
ZWE7616175
这个作者很懒,什么都没留下…
展开
-
sockaddr_in与sockaddr的区别,以及对网络字节序和主机字节序的理解和转换函数
一、sockaddrsockaddr在/usr/include/bits/socket.h下,查看sockaddr的结构:struct sockaddr { __SOCKADDR_COMMON (sa_); /* Common data: address family and length. 协议族 */ char sa_data[14]; ...原创 2018-05-09 12:56:34 · 7567 阅读 · 0 评论 -
NAT技术
在网络层中的IP协议中,我们就提到过IP地址不够用的问题,并了解到有三种方式来解决这个问题。 其中包括:* 动态分配IP地址:只给接入网络的设备分配IP地址* NAT技术* IPV6,128位来表示一个IP地址。私有IP地址和全局IP地址(1)私有IP地址子网中的IP是私有IP。* 10.*,前8位是网络号,共2^24=16,777,216个地址。* 172....原创 2018-05-28 21:36:00 · 415 阅读 · 0 评论 -
代理服务器
一、代理服务器的介绍代理服务器是介于浏览器和Web服务器之间的一台服务器,功能是代理用户去取得网络信息。网络信息则是通过代理服务器进程中转的。代理服务器在OSI模型的对话层,从而起到防护墙的作用,代理服务器大多被用来连接国际互联网和企业内部局域网。国际互联网是采用正向代理,企业内部局域网是采用反向代理。 代理服务器就像一个中转站,存在于客户端和服务器之间。当客户端向服务器发送...原创 2018-05-29 19:18:44 · 928 阅读 · 0 评论 -
tcpdump工具的使用方法与常见选项
tcpdump可以将网路中传送的数据包的“头”完全截获下来提供分析。支持对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来去掉无用的信息。不带参数的tcpdump会收集网络中所有的信息报头,数据量巨大,所以,必须过滤。 常用选项 具体含义 -i 指定监听的网络接口。 -nn IP和端口均以数字形式显示。 -c 在...原创 2018-05-30 18:52:17 · 2730 阅读 · 0 评论 -
HTTP和HTTPS的区别
超文本传输协议HTTP,是用来进行明文传输的,不会对数据进行加密,一旦被恶意攻击的话,截取了服务器与浏览器之间的报文,用户名、密码、支付密码等重要就被攻击者知道,安全性也相对来很低。为了数据加密,安全套接字超文本传输协议HTTPS在HTTP的基础上加上了SSL协议,SSL依靠证书(公钥)来验证服务器身份,并为服务器和浏览器之间的通信加密。HTTPHTTP是互联网上应用最为广泛的一种...原创 2018-07-25 18:58:37 · 306 阅读 · 0 评论 -
TCP粘包问题
TCP和UDP关于粘包问题的讨论UDP不存在粘包问题,因为UDP是数据报传输,每一个消息都是独立的。但也有不足之处,当数据量发送较小时,就会发生数据包有效载荷较小的情况,也会增加多次发送数据的系统发送开销和接收开销。因此,设置一个较为合适的UDP数据包的包长就很重要了,UDP的最大载荷为1472,最好每次传输接近这个数据的数据量,比较适合视频、音频等大块数据的发送。同时,通过减少握手来保证...原创 2018-08-04 10:19:37 · 344 阅读 · 0 评论 -
HTTP的长连接和短连接
短连接HTTP短连接,也称非持久连接,客户端和服务器进行一次HTTP请求/响应后,就关闭连接。下一次的HTTP请求/响应就需要重新建立连接。在HTTP/1.0中,默认使用的是短连接。长连接HTTP长连接,也称持久连接,客户端和服务器建立一次连接后,可以才这条连接上进行多次请求/响应操作。持久连接可以设置保活时间(keep-alive),也可以不设置。从HTTP/1.1起,默认使用的...原创 2018-08-04 14:21:19 · 356 阅读 · 0 评论 -
FTP服务器的实现(包括一些重要函数的介绍和实现逻辑)
一些重要函数:1.system()函数原型:int system(char* command);函数功能:发出一个DOS命令。 system执行过程: (1)fork一个子进程; (2)在子进程中调用exec函数去执行command; (3)在父进程中调用wait等待子进程结束。返回值: fork失败,返回-1; exec成功,即命令执行成功,返回command通过...原创 2018-08-09 22:29:13 · 1356 阅读 · 0 评论 -
TCP和UDP的区别
TCP和UDP的区别TCP是面向连接的,UDP是无连接的。 连接的含义是指在发送数据前建立连接。TCP是建立连接后才可以进行数据的传输。TCP提供可靠的服务,UDP不可靠。 TCP有重传机制,序列号,可以保证不丢包,无差错,数据按序到达;UDP不能保证。TCP面向字节流,UDP面向数据报。 面向字节流我们可以想象成水管中的水流一样,没有固定的“边界”;UDP是...原创 2018-08-04 23:34:46 · 284 阅读 · 0 评论 -
自主FTP服务器需求说明书
首先,我们来了解一些关于软件测试的概念。 软件测试的目的和原则 目的:验证软件有没有问题。 原则:以客户为中心,遵循软件测试的规范、流程、标准和安装。需求 需求一般分为用户需求和软件需求。 用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品必须要完成的任务。 软件需求:也叫功能需求,会详细描述开发人员必须实现的软件功能。对于自主FTP服务器,我们编写...原创 2018-08-06 11:46:46 · 1046 阅读 · 0 评论 -
FTP服务器测试用例设计
一、用户登录1.功能测试(Function test)(1)注册用户名和密码——保存退出; 这里用一个隐藏文件.auth实现,保护用户名和密码的安全,将用户名和密码设置的过程作为用户注册。可处理不同的书写风格。 (2)连接服务器——连接成功; 运行服务器,客户端进行连接,成功后,出现如下界面: (3)登录注册过的用户和密码,能否进入ftp交互界面——可以进入; (...原创 2018-08-10 15:59:14 · 2063 阅读 · 0 评论 -
FTP服务器的原理
在我们平时上网的过程中,一般都是使用FTP的客户端对商家提供的服务器进行访问(上传、下载文件),例如我们微软的SkyDrive网盘,115网盘等。FTP介绍FTP文件传输协议(File Transfer Protocol),用于Internet上的控制文件的双向传输,是一个应用程序。工作在TCP/IP协议族的应用层,其传输层协议是TCP协议,目的在于提高文件传输的共享性和可靠性,是基于...原创 2018-08-02 11:38:35 · 15953 阅读 · 1 评论 -
【项目】我的网盘(底层是由ftp实现)
在网络时代,网络连接着世界,几乎涵盖了人们的衣食住行,买衣服可以逛“淘宝”、“京东”、“唯品会”,出去吃饭没带钱可以扫“支付宝”,旅游住酒店可以在“美团”上提前预定房间,出远门买火车票可以在“12306”提前购买火车票、“滴滴打车”、“摩拜”方便人们的出行。同样,网盘作为一种新的存储文件的方式,越来越受大家的欢迎。我综合分析了一下,网盘代替之前旧的存储方式的原因主要有以下几点: 1.便于携...原创 2018-08-11 22:27:28 · 2749 阅读 · 4 评论 -
网络信息安全的重要性
一、信息安全技术概论1.网络安全的重要作用在互联网普及的初期,人们更关注单纯的连接性,以不受任何限制地建立互联网为最终目的。正如事情都具有两面性,互联网的便捷性给人们带来了负面问题,计算机病毒的侵害、信息泄露、网络欺诈等利用互联网的犯罪行为日益增多。2.信息安全的内涵网络出现前:主要面向数据的安全,对信息的机密性、完整性和可用性的保护,即CIA三元组;网络出现后,还涵盖了面向用...原创 2018-08-15 11:39:01 · 17718 阅读 · 0 评论 -
TCP三次握手及四次挥手详解及常见面试题
TCP的报头: 1. 源端口号:表示发送端端口号,字段长为16位。 2. 目标端口号:表示接收端口号,字段长为16位。 3. 序列号:表示发送数据的位置,字段长为32位。每发送一次数据,就累加一次该数据字节数的大小。 注意:序列号不会从0或1开始,而是在建立连接时由计算机生成的一个随机数作为其初始值,通过SYN包发送给接收端主机。然后再将每转发过去的字节数累加到初始值上表示数据的位置。...原创 2018-05-24 11:51:38 · 44238 阅读 · 16 评论 -
[网络层] ICMP协议以及ping命令
我们知道,IP协议提供的是尽力而为的服务。IP协议的优点是简单,但缺少差错控制和查询机制。IP分组一旦发出去,是否到达主机,以及在传输的过程中出现哪些错误,源主机是不知道的。在这种情况下,如果出现一些问题,例如:路由器找不到目的主机,分组生存时间超过而必须被丢弃。针对这些问题,设计了一种差错报告与查询、控制机制来了解信息,决定如何处理。ICMP协议就是为解决以上问题而设计的,ICMP的差错...原创 2018-05-28 19:12:08 · 5155 阅读 · 2 评论 -
浏览器中输入URL后会发生什么事情
URLURL就是由某个协议方案表示的资源的定位标识符,协议方案指的是访问资源所用的协议类型名称。表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。相对URL,是指从浏览器中基本的URI处指定的URL。 我们看一下绝对的URI格式。 使用http:或https:等协议方案名获取访问资源时要指定协议类型,不区分字母大小,最后附一个冒号。 也可使用data...原创 2018-05-28 17:10:23 · 2518 阅读 · 0 评论 -
利用网络套接字实现TCP交互
我们来了解一下TCP交互流程: 大致流程如下: (1)服务器根据地址的类型(属于ipv4还是ipv6等)、socket类型(比如TCP、UDP)去创建socket,创建出的套接字socket本质上是个文件描述符。 (2)服务器绑定IP地址和端口号到套接字socket (3)服务器socket**监听**端口号请求,随时准备接收客户端发来的连接,但这个时候服务器的socket并没有被打开...原创 2018-05-09 21:59:26 · 533 阅读 · 0 评论 -
实现简单的网络套接字编程UDP
一、IP地址1.作用:在IP协议中,用来标识网络不同主机的地址。 2.IP协议有两个版本,IPv4和IPv6。 IPv4:IP地址有4个字节,共32位。 IPv6:IP地址有16个字节,共128位。 3.通常用“点分十进制”的字符串表示IP地址,用点分割的每一个数表示一个字节,范围是0~255.在网络传输数据的过程中,IP地址是不变的。IP地址包括源IP地址、目的IP地址。...原创 2018-04-25 22:06:29 · 920 阅读 · 0 评论 -
【教你一招】查看浏览器的Cookie
一、在IE浏览器中查看Cookie方法一: 在浏览器的地址栏输入:javascript:alert(document.cookie) (不区分大小写),就会弹出你在当前网页登录的cookie信息。 注意:你把以上复制进入地址栏后会发现,“javascript”字符串消失不见,不管“javascript”里面哪一个字母被大写或小写,只要识别为“javascript”就会自动被过滤隐藏消失。...原创 2018-05-10 22:34:47 · 70353 阅读 · 6 评论 -
简单TCP网络程序(多进程及多线程版本)
我们之前实现了的TCP交互版本,只能实现一台服务器当前只能服务一个客户,是单进程的。 https://blog.youkuaiyun.com/ZWE7616175/article/details/80260420为了解决这一问题,我们实现多进程和多线程的版本。多进程版本服务器端#include <stdio.h> #include <st...原创 2018-05-11 09:39:40 · 1861 阅读 · 0 评论 -
认识Cookie
在前面的博客中介绍到在不同的浏览器中查看网页的Cookie,查看浏览器的Cookie,那么Cookie是什么呢?在这个文件中记录了哪些信息呢?Cookie是一种能够让网站服务器把少量数据存到客户端的硬盘或内存,或者是从客户端的硬盘读取数据的一种技术。它是当你浏览某网站的时候,由Web服务器置于你硬盘上的一个非常小的文本文件。记录以下信息:用户ID 密码 浏览过的网页 停留的信...原创 2018-05-11 18:19:29 · 225 阅读 · 0 评论 -
计算机网络基础(计算机网络的发展阶段、OSI参考模型、协议、传输方式、地址)
计算机网络好比一个人的神经系统,一个人身上的所有感觉都经由神经系统传递到大脑,与之类似,世界各地的信息也通过网络传递到每一个人的计算机上。一、计算机网络发展的7个阶段 年代 内容 20世纪50年代 批处理时代 20世纪60年代 分时系统时代 20世纪70年代 计算机通信时代 20世纪80年代 计算机网络时代 20世纪...原创 2018-05-12 11:30:47 · 2089 阅读 · 0 评论 -
HTTP协议、URI和URL、报文首部
一、URI和URL1.URI的概念URI就是由某个协议方案表示的资源的定位标识符,协议方案指的是访问资源所用的协议类型名称。 采用HTTP协议时,协议方案就是http。除此之外,还有ftp、mailto、telnet、file等。标准的URI协议有30种左右。2.URI和URL的区别和联系URI用字符串标识某一互联网资源,而URL表示资源的地点,即互联网上所处的位置。所以...原创 2018-05-13 23:07:30 · 4034 阅读 · 0 评论 -
在Windows下和Linux下如何查看网卡MAC地址、以及修改MAC地址
在Windows下利用DOS命令打开,弹出命令窗口。 输入命令ipconfig/all,回车。 其中,物理地址为本机的MAC地址。在Linux下查看MAC地址的方法有好多种,下面给出四种常见的方法。1.ifconfig 其中,HWaddr字段就是mac地址。2.在CentOS系统中,输入命令:cat etc/sysconfig/network-scri...原创 2018-05-25 08:45:13 · 15538 阅读 · 0 评论 -
OSI七层模型---传输层(端口号、UDP协议报头、TCP协议报头)
一、传输层定义IP首部有一个协议字段,用来标识网络层的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据是TCP的内容还是UDP的内容。TCP/IP的大多数协议都是以客户端/服务器端的形式运行,客户端类似于客户的意思,是请求的发起端,服务器端则是表示提供服务的意思,是请求的处理端。另外,服务器应该提前启动,准备接受客户的请求。服务端程序在UNIX系统当中叫...原创 2018-05-14 21:12:00 · 10877 阅读 · 0 评论 -
TCP如何实现可靠性,及提高性能
1.确认应答机制(ACK) TCP将每个字节的数据进行了编号,即为序列号。 每一个ACK都带有对应的确认序号,告诉发送者,已经收到这些序号的数据了,下一次从该序号的下一个位置开始发。2.超时重传机制 假设主机A未收到B发来的确认应答,可能是ACK丢失了。 序列号还有一个作用就是去重,出现丢包时,主机B会出现很多重复数据,那么TCP协议就能利用序列号识别重复的包,并将其丢掉...原创 2018-05-25 20:18:16 · 1886 阅读 · 0 评论 -
OSI七层模型---网络层(IP协议、网段划分、IP地址分类、子网划分、子网掩码、路由转发)
网络层中一个重要的协议:IP协议IP协议作用:有能力将数据从A主机送往B主机。 理解三个基本概念: 主机:配有IP地址,但是不进行路由控制设备。 路由器:配有IP地址,又能进行路由控制。 节点:主机和路由器的统称。IP协议格式 字段 解释 4位版本号 指定IP协议的版本,若是IPV4,该字段为4. 4位首部长度 单位为4...原创 2018-05-26 23:38:10 · 1809 阅读 · 0 评论 -
OSI七层模型---数据链路层(以太网帧、MAC地址、MTU、MSS、ARP协议)
我们首先来了解一下物理层的作用。* 物理层的主要目的是实现比特流的透明传输,为数据链路层提供服务,物理层接口解决了用几根线,多大电压,每根线什么功能,以及几根线之间是怎么协调的问题。* 物理层介质解决了数据载体材质以及价格优缺点的问题。* 通信技术解决了每根导线上数据传输的速度和导线上最快能传多少以及怎么高效使用导线的问题。* 编码解决了数据变为电信号的问题。* 交换技术解决了...原创 2018-05-27 10:32:44 · 7629 阅读 · 0 评论 -
详解DNS协议
DNS协议TCP/IP中使用IP地址和端口号来确定网络上某一台主机上的某一个程序,但是IP地址是点分十进制,不方便记忆。因此,就出现了域名,如:www.baidu.com。实际上,人们将主机名叫做域名,其原因是Internet使用的命名系统定义了很多域,主机要按照它所属的域命名,因此就叫做域名。域名是按照一定的规则,用自然语言表示的名字,它与确定的IP地址相对应。域名是面向用户的,IP是面...原创 2018-05-27 23:06:22 · 6208 阅读 · 0 评论 -
C/S模型和B/S模型
首先了解一下C/S和B/S模型,B/S模型是特殊的C/S模型。一、C/S模型(客户/服务器模型)1.特点非对等相互作用,服务器有客户端不具备的硬件和软件资源、运算能力,服务器提供服务,客户请求服务。2.客户端和服务器的数量关系多个客户进程可以同时访问一个服务进程,一个客户进程可以同时访问多个服务器提供的服务。3.客户端和服务器的位置关系客户端和服务器运行...原创 2018-08-29 14:30:12 · 6123 阅读 · 0 评论