网络协议分析与抓包 TCP/IP UDP等

学习地址:
https://www.bilibili.com/video/BV1hV411U74y?p=4
https://www.bilibili.com/video/BV1S7411R7kF?p=19
https://www.bilibili.com/video/BV1z4411G7CY?p=3

go os/exec
https://blog.csdn.net/qianghaohao/article/details/96614079

运维负责传输层

TCP/IP协议模型

网上有5层和4层两种说法

5层:

1.物理层
2.数据链路层
3.网络层
4.传输层
5.应用层

一个数据包:传输控制层面只占一部分,数据才占用大部分.


OSI七层协议中,网络层协议:HTTP、DNS、IP、ICMP(因特网控制报文协议)、ARP、RARP、OSPF、IPX、RIP、IGRP
传输层:TCP、UDP;
应用层:FTP TELNET DNS SMTP

在TCP/IP模型中,ARP协议属于IP层;在OSI模型中,ARP协议属于链路层。

这里有四个互联协议:
网际协议IP:负责在主机和网络之间寻址和路由数据包。
地址解析协议ARP:获得同一物理网络中的硬件主机地址。
网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。
互联组管理协议IGMP:被IP主机拿du向本地多路广播路由器报告主机组成员。

数据封装,解封装,数据传输过程


OSI TCP/IP协议封装模型

OSI TCP/IP协议数据的解封装过程

抓包:

网络传输效率

seq:随机序列号
ack:确认(期望)序列号

确认序列号(ack)是上一个包的随机序列号(seq)

TCP/IP协议的三次握手和四次握手

三次握手

抓包tcp/ip的包 :

观察三次抓包

TCP握手协bai议 :在TCP/IP协议中,TCP协议提供可靠的连接du服务zhi,采用三次握手建立一个连接dao。

1、第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)

2、第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

3、第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据。

所谓的三次握手(three times handshake;three-way handshaking)即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。

为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。

四次握手

四次挥手


ip地址划分




ip地址的转换

http协议:

request

传参:

GETT 和 POST的区别

  • GET是获取数据,POST是传送数据给服务器
  • GET是url传参,POST是body传参数
  • GET的数据大小显示2K;POST没有理论限制
  • POST相对安全一点,包含机密信息,建议用POST数据提交方式
  • 在做获取数据是用GET,做数据的添加,修改,删除时建议用POST

response

状态码

web服务器

  • Apache:可以运行在Linux,Windows,Mac上
  • IIS:是微软的软件,只能运行在Windows电脑上
  • NGINX:只能运行Linux/Unix

NGINX 不让ip地址访问网站

vim /etc/nginx/nginx.cnf

server{
    listen 80 default;
    server_name localhost;   
    access_log off;
    location / {
          #return 302 https://haimait.com$request_uri;
        return 404;  
    }
    rewrite ^(.*) http://www.xxx.com;
}

dns解析

dns出现的原因,ip地址不好记

域名 :baidu.com
dns服务器:baidu.com 119.22.22.22

ftp服务:tcp 21端口
ssh服务:tcp 22端口
telnet:tcp 25端口
dns服务:udp 53端口
smtp:tcp 80端口
http服务: tcp 80端口
https服务:tcp 443端口
tomcat服务:8080端口
mysql服务:tcp,udp 3306端口
redis服务:6379端口
HBASE服务:60010端口
kafka服务:9092端口
zookeeper服务:2181端口
memcached服务:11211端口
mongdb服务:27017端口

dns解析的流程:

查dig是属于哪个包

yum provides dig

posted @ 2020-11-02 08:42  HaimaBlog  阅读(528)  评论(0编辑  收藏  举报