zoukankan      html  css  js  c++  java
  • 网络协议分析与抓包 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

  • 相关阅读:
    14 循环结构
    12.Maps
    11 Lists
    10 正则表达式
    8 Operator overloading
    9 Strings
    7 数据类型
    6 GPath
    4 练习: 使用eclipse开发
    5 类、对象、方法
  • 原文地址:https://www.cnblogs.com/haima/p/13912707.html
Copyright © 2011-2022 走看看