
网络协议
文章平均质量分 54
1
山兔1
网络安全爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
爬虫是什么
爬取网络上的数据,各种网页的数据,是一种脚本,百度搜索,就是爬虫的一种原创 2022-02-21 14:41:22 · 611 阅读 · 0 评论 -
网卡和端口有啥区别
网卡是电脑里面用来通信的一个硬件设备,端口就是我们用来连接网线的口原创 2022-02-21 14:40:28 · 1716 阅读 · 0 评论 -
以太网是啥
以太网可以理解为内网,由交换机组成的网络原创 2022-02-21 14:39:05 · 695 阅读 · 0 评论 -
服务器是什么
负责处理,我们浏览器发送出去的请求,并把处理的结果返回给浏览器,显示给用户看简单来说,就是一个硬件设备原创 2022-02-21 14:36:23 · 368 阅读 · 0 评论 -
为什么arp协议广播是要知道对方的Mac地址 而不是ip地址
因为ARP协议本身就是要得到对方的MAC地址,只所以选择MAC地址作为局域网设备的身份标识,是因为,它固定不可变原创 2022-02-21 14:34:32 · 730 阅读 · 0 评论 -
mac地址和IP地址到底有啥区别
mac地址是设备厂商分配的地址,是固定不可变的,在硬件里面IP地址,是设备在网络中的地址,这个是可以变的原创 2022-02-21 14:32:48 · 482 阅读 · 0 评论 -
17.代理_CDN_网络安全
代理服务器(Proxy Server)类似于房产中介,因为我们有时候无法直接找到服务器,就好比我们无法一下子找到房东,所以我们要借代理服务器来找到我们想要的服务器(就好比上外网(google.com))◼ 特点本身不生产内容处于中间位置转发上下游的请求和响应✓ 面向下游的客户端:它是服务器✓ 面向上游的服务器:它是客户端正向代理、反向代理◼ 正向代理:代理的对象是客户端我ABC客户端找到你,让你代理服务器帮我干一件事情◼ 反向代理:代理的对象是服务器选择访问哪一个服务器,帮服原创 2021-10-30 11:32:39 · 2200 阅读 · 0 评论 -
21.WS_REST_HTTPDNS_FTP_邮件
HTTP vs WebSocket对于开发者而言,Socket是一套网络编程API,我们利用它可以建立网络连接,比如TCP连接,发UDP数据包我们平时发的那些请求,比如HTTP、FTP、SMTP,它们底层调用的API就是Socket拿JAVA来说,我们可以利用一个类,创建一个连接HTTPURLConnection conn = new xxx;这个连接的底层肯定是要用Socket API像这些底层API,操作系统已经准备好了,我们直接调用就可以了Socket API就是一个方法,一个函数,拿来原创 2021-11-17 22:53:51 · 2046 阅读 · 0 评论 -
20.SPDY_QUIC_HTTP2_HTTP3
Wireshark解密HTTPS◼ 设置环境变量SSLKEYLOGFILE(浏览器会将key信息导出到这个文件)先在电脑上创建ssl.log文件点击计算机>属性>高级系统设置>环境变量>用户变量>新建◼ 设置完成后,最好重启一下操作系统◼ 在Wireshark中选择这个文件编辑 → 首选项 → Protocols → TLS先点击以太网>输入tcp port 443>enter在浏览器访问baidu.com只有搞了这些东西,我们才可以解析出来原创 2021-11-10 21:14:25 · 1495 阅读 · 0 评论 -
19.HTTPS
安全是相对的,虽然我们把CA的公钥内置到浏览器里面去了,但还是有办法对内置的进行更改,我们只能够去相对的提高公钥传输的安全性,到那时候,我们可以及时的吊销证书HTTPS◼ HTTPS(HyperText Transfer Protocol Secure),译为:超文本传输安全协议常称为HTTP over TLS、HTTP over SSL、HTTP Secureover通过的意思,就是HTTP使用了TLS由网景公司于1994年首次提出很早之前只有网景和微软推出了自己的浏览器,有自己的标准。在原创 2021-11-06 11:39:48 · 1937 阅读 · 0 评论 -
18.对称加密_非对称加密_数字签名_证书
如何加密解密?当我们拿到加密数据后,肯定希望能够解密,因为我们需要当中的数据,跟前面不可逆的加密是不一样的,本篇文章学的是对我们需要的数据进行加密通常密钥是一串数字或者字符串,类似于规则,告诉明文该如何加密不同的密钥加密完肯定是不一样的对称加密(对称密码)加密用的密钥跟解密用的密钥是同一把非对称加密(公钥密码)加密用的密钥跟解密用的密钥不是同一把对称加密(Symmetric Cryptography)◼ 在对称加密中,加密、解密时使用的是同一个密钥◼ 常见的对称加密算法有DES原创 2021-11-03 18:52:32 · 445 阅读 · 0 评论 -
16.跨域_Cookie_Session
只有引入中间件才可以敲后台代码浏览器向服务器要数据,先访问服务器,服务器根据请求向数据库要数据。数据库的数据返回给服务器,服务器在返回给浏览器:是一行:表头:单元格普通的数据现在前端开发基本用React/Vue浏览器一开始访问服务器,服务器会返回index.html给它。所以浏览器上面会显示index.html给用户看。用户在看的时候就会点击按钮在浏览器的html页面,点击有JS代码链接的按钮,执行JS代码,JS就会请求到服务器的UserServlet,UserServlet就会把数据送回原创 2021-10-26 22:07:43 · 587 阅读 · 0 评论 -
IJ添加框架支持,发现没得选
那是因为你新建新模块的时候,选的不是JAVA模块,选成WEB模块,删掉重新在建一个就可以了原创 2021-10-24 23:43:27 · 247 阅读 · 0 评论 -
运行 ‘tomcat9‘ 时出错: 无法打开调试器端口 (127.0.0.1:59199): java.net.BindException “Address already in use: NET_B
因为你把.html文件放到了WEB-INF下了,重新建一个html文件夹,然后把.html文件放进去原创 2021-10-23 22:14:26 · 2422 阅读 · 0 评论 -
报servlet不存在
那是因为你项目结构中间键没导入好,你返回去在导一下原创 2021-10-23 21:08:57 · 139 阅读 · 0 评论 -
15.状态码_form提交
客户端发给服务器的HTTP请求,是在协商,告诉服务器我想要什么,我的喜好,每个客户端的喜好都是不一样的,客户端喜欢的,服务器不一定支持,所以要告诉服务器,我到底喜欢多少个,要全部讲出来,让服务器根据情况,进行响应状态码(Status Code)◼ 在RFC 2616 10.Status Code Definitions规范中定义状态码指示HTTP请求是否已成功完成◼ 状态码可以分为5类信息响应:100~199成功响应:200~299重定向:300~399客户端错误:400~499原创 2021-10-23 18:49:34 · 330 阅读 · 0 评论 -
14.ABNF_请求头_响应头
◼ ABNF(Augmented BNF)是BNF(Backus-Naur Form,译为:巴科斯-瑙尔范式)的修改、增强版在RFC 5234中表明:ABNF用作internet中通信协议的定义语言ABNF是最严谨的HTTP报文格式描述形式,脱离ABNF谈论HTTP报文格式,往往都是片面、不严谨的用来定义请求报文,响应报文长什么样子浏览器展示出来的往往是优化的,不是最初的样子◼ 关于HTTP报文格式的定义RFC 2616 4.HTTP Message(旧)RFC 7230 3.Me原创 2021-10-20 17:04:13 · 520 阅读 · 0 评论 -
13.DNS_DHCP_HTTP
IP地址的分配◼ IP地址按照分配方式,可以分为:静态IP地址、动态IP地址静态IP地址✓ 手动设置✓ 适用场景:不怎么挪动的台式机(比如学校机房中的台式机)、服务器等(方便别人访问我)特点是,我想让它是多少,它就是多少动态IP地址✓ 从DHCP服务器自动获取IP地址✓ 适用场景:移动设备、无线设备等(避免与别人产生冲突)DHCP◼ DHCP(Dynamic Host Configuration Protocol),译为:动态主机配置协议DHCP协议基于UDP协议,客户端是68原创 2021-10-18 18:51:46 · 200 阅读 · 0 评论 -
12.Socket补充_域名
开发者主要是面向应用层应用层的常见协议◼ 超文本传输:HTTP、HTTPS◼ 文件传输:FTP◼ 电子邮件:SMTP、POP3、IMAP◼ 动态主机配置:DHCP◼ 域名系统:DNS域名(Domain Name)◼ 由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com)但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址路由器只认IP地址,数据的传输要通过路由器的转发域名申请注册:https://wanwang.aliyun原创 2021-10-17 22:33:07 · 217 阅读 · 0 评论 -
11.TCP04_释放连接
TCP—释放连接—4次挥手释放连接是建立在建立连接的基础上,由客户端发起的连接释放,ACK为1,因为在前面客户端与服务器有进行过数据的转发TCP—释放连接—状态解读◼ FIN-WAIT-1:表示想主动关闭连接向对方发送了FIN报文,此时进入到FIN-WAIT-1状态◼ CLOSE-WAIT:表示在等待关闭当对方发送FIN给自己,自己会回应一个ACK报文给对方,此时则进入到CLOSE-WAIT状态在此状态下,需要考虑自己是否还有数据要发送给对方,如果没有,发送FIN报文给对方◼ FIN原创 2021-10-16 22:49:03 · 919 阅读 · 0 评论 -
IntelliJ IDEA 2021加载源代码的方法
1、先打开软件,按照下面图片的操作来找到自己要导入的源代码,一定要选择.iml结尾的文件原创 2021-10-14 20:45:21 · 1034 阅读 · 0 评论 -
10.TCP03_序号_确认号_建立连接
TCP RetrasmissionFast RetrasmissionTCP—序号、确认号建立连接三次握手,释放连接四次挥手SYN:同步先建立连接,然后在开始发送数据,服务器连续发好几个包,客户端才发一个两方都有可能成为接收方,都有可能成为发送方,数据的传输是双向的。真实情况是连发好几个包,才发送一个确认号序号:告诉对方,我现在发送到哪里了ACK:告诉对方我现在接收到那了,你接下来继续给我发以上图片用到的数据是相对值,并非真实值,真实值是一个很大的值第一部分是建立连接,第二部分.原创 2021-10-13 18:28:17 · 275 阅读 · 0 评论 -
09.TCP_02_流量控制_拥塞控制
TCP—流量控制◼ 如果接收方的缓存区满了,发送方还在疯狂发送着数据接收方只能把收到的数据包丢掉,大量的丢包会极大的浪费网络资源,还要在重传所以要进行流量控制,由缓存区告诉对方自己接收的流量大小◼ 什么是流量控制?让发送方的发送速率不要太快,让接收方来得及接收处理◼ 原理通过确认报文中窗口字段来控制发送方的发送速率发送方的发送窗口大小不能超过接收方给出窗口大小当发送方收到接收窗口的大小为0时,发送方就会停止发送数据一开始接收方会告诉发送方的自己的接收窗口大小,窗口大小不是固定原创 2021-10-12 21:03:20 · 529 阅读 · 0 评论 -
08.TCP01_可靠传输
TCP—数据格式◼ 数据偏移占4位,取值范围是0x0101~0x1111乘以4:首部长度(Header Length)首部长度是20~60字节,可选字节最大是40字节为什么取名叫数据偏移数据往右边偏移,首部长度多少,数据就往右边偏移多少。◼ 保留占6位,目前全为0因为没什么用TCP—小细节◼ 有些资料中,TCP首部的保留(Reserved)字段占3位,标志(Flags)字段占9位,Wireshark也是这么认为。因为9位标志位的前三位也是没有用的,也算是保留位,所以有的标原创 2021-10-10 10:27:20 · 331 阅读 · 0 评论 -
08.传输层_UDP
传输层( Transport)◼ 传输层有2个协议TCP(Transmission Control Protocol),传输控制协议UDP(User Datagram Protocol),用户数据报协议面向连接:三次握手,建立连接,相当于中间有一条隐形的管道,数据发完之后,要断开连接,不然会占用服务器的资源,服务器的端口会一直等客户端发送数据过来。无连接:不管你在不在线,不管你能不能连接,直接朝服务器扔过去可靠传输,不丢包:发100k数据过去,中间某个字节丢失了,它会补发,保证这100个字原创 2021-10-09 16:29:03 · 159 阅读 · 2 评论 -
07.网络层_UDP
路由器是三层设备,他要处理IP地址,还要封装数据网络层( Network**)**◼ 网络层数据包(IP数据包,Packet)由首部、数据2部分组成数据:很多时候是由传输层传递下来的数据段(Segment)32位4字节,5行,20字节网络层首部 —版本、首部长度、区分服务◼ 版本(Version)占4位0b0100:IPv40b0110:IPv6◼ 首部长度(Header Length)一行占4位,二进制乘以4才是最终长度0b0101:20(最小值)0b1111:6原创 2021-10-06 14:37:18 · 315 阅读 · 0 评论 -
06.物理层_数据链路层
不同的路由器效果是不一样的路由器端口不需要设IP的,可以支持同网段通信。不同网段之间第一个数据包会丢失的原因因为不同网段之间第一次发送ICMP的时候,不知道对方的MAC地址,所以要发送ARP请求,当获取到自己网关的MAC地址时,才会发送ICMP。但是路由器另一个端口却不知道目标IP的MAC地址,一边要处理ICMP,一边还要发送ARP询问目标MAC地址,实在是忙不过来,就会把ICMP丢掉,先去处理ARP请求,学习并且记录目标的MAC地址,这就是第一个数据包会丢失的原因。网络互连模型客户端到服务器的过原创 2021-10-04 13:09:06 · 255 阅读 · 0 评论 -
05.局域网_NAT
数据包的传输过程就好像送快递一样,商家地址和客户地址一直不变,中间的快递站点一直在变。网络、互联网、因特网网络(Network) :用交换机将多台计算机连接在一起组成同一个网段,转发数据。互联网(internet) :用路由器将不同的网段连接在一起,组成更大的网络。非常广泛的一个概念。◼ 全世界最大的互联网是:因特网(Internet) ,将全世界所有的计算机都连接在一起。一般使用大写I开头的,特指因特网,日常生活中说的:你的电脑上不了网。其实就是指:你的电脑没有连接到因特网。ISPISP,原创 2021-10-02 23:21:01 · 540 阅读 · 0 评论 -
04.超网_静态路由
变长子网划分如果一个子网地址块的长度是原网段的(1/2)^n,那么子网的子网掩码,就是在原网段的子网掩码基础上增加n个1。不等长的子网,它们的子网掩码也不同。假设是对192.168.0.0/24进行变长子网划分:C网段:子网掩码是255.255.255.128/25B网段:子网掩码是255.255.255.192/26A网段:子网掩码是255.255.255.224/27D网段:子网掩码是255.255.255.252/30 E网段:子网掩码是255.255.255.252/30各原创 2021-10-01 23:36:26 · 965 阅读 · 0 评论 -
03.MAC地址_IP地址_子网掩码
一步一步的发展是为了淘汰掉以前不成熟的技术。计算机之间的连接方式 - 路由器(Router)网线直连、同轴电缆、集线器、网桥、交换机的特点:连接的设备必须在同一网段;连接的设备处在同一广播域。路由器的作用:可以在不同网段之间转发数据;隔绝广播域。路由器通过在端口设置IP地址,也就是计算机的网关,来标识端口对应的局域网,帮助计算机跨网段。跨网段发送数据,要通过网关,所以要发送ARP请求,获取网关的MAC地址。有多少个网关,得取决于端口。路由器两边同一个网段是没办法通信的 。MAC地址原创 2021-09-29 23:43:19 · 1563 阅读 · 0 评论 -
02.集线器_网桥_交换机
通信:一台计算机向另一台计算机发送数据,收到后,返回数据回去。通信要点:需要得知对方的IP地址。最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收。如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理。如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理。注意:网卡地址是通过计算机发送ARP请求,交换机学习建立MAC地址表,自动解析,进行转发,所以一般我们是感觉不到。一个MAC地址对应一张网卡,是硬件,IP地址是人为标识出来,两个都是地原创 2021-09-28 23:40:21 · 446 阅读 · 0 评论 -
IntelliJ IDEA 2021学习记录
src文件放java源代码的地方。增加WEB模块。在服务器上安装中间键,才可以实现客户端与服务器的交流。不加文件名,直接访问web文件夹下的index.html、index.htm、index.jsp。图片访问不支持.jpg格式。写html的时候,登录按钮,要给类型,不然就没什么用了。包名com.mj.servlet对应着3个文件夹,包名一般都是公司域名倒过来。类名LoginServlet。LoginServlet处理登录请求:1.继承HttpServlet,才能够处理HTTP请求。2.使原创 2021-09-28 15:25:20 · 278 阅读 · 0 评论 -
java: 需要‘)‘
照着视频输代码的时候,就出现了这个错误把那个s:,删掉就可以了。原创 2021-09-28 14:59:35 · 3740 阅读 · 3 评论 -
IntelliJ IDEA 2021 jdk环境冲突
点设置,选项目结构,选项目,选SDK,换上自己想要的就可以了。原创 2021-09-28 00:03:15 · 970 阅读 · 0 评论 -
IntelliJ IDEA 2021如何更新内容
先把文件执行起来点编辑配置,更改执行更新选项。这样点debug的时候,默认选重新部署,原创 2021-09-27 20:24:04 · 1140 阅读 · 0 评论 -
IntelliJ IDEA 2021加载库的方法
一个正常的代码点设置,选项目结构,选模块,点+,选库,配置好的结果原创 2021-09-27 20:23:21 · 346 阅读 · 0 评论 -
IntelliJ IDEA 2021操作方法
第一步,打开软件,创建项目,选择空项目。第二步,给新项目名称命名第三步,新模块选择JAVA。第四步,给模块命名。第五步,给模块命名成功后的界面。第六步,点SRC文件,创建类。...原创 2021-09-27 17:44:31 · 7235 阅读 · 0 评论 -
1、基本概念
网络协议:规定数据是如何从一台设备到另一台设备的,约束数据格式。网络协议的类别:HTTPS、SMTP、MQTT、RTMP。因为不同的需求环境,所以出现了这么多的网络协议。针对文件操作的FTP协议。C/C++的跨平台原理:使用平台相关的编译器生成对应平台的可执行文件。可执行文件:操作系统可以直接运行,把它加载进内存给CPU直接运行的。JAVA的跨平台原理:JAVA经过编译生成*.class,字节码文件对于操作系统,不是可执行文件。JVM:JAVA虚拟机,里面有JDK,JAVA运行环境。编原创 2021-09-27 15:26:32 · 204 阅读 · 0 评论