zoukankan      html  css  js  c++  java
  • OSI七层模型和五层TCP/IP协议

    1.查公网ip的方法:

    windows,打开浏览器,访问百度,搜IP即可
    linux:curl ifconfig.me

    2.OSI七层模型

    OSI七层模型.png

    image.png

    网络工程师:

    物理层       1层,通信介质的信号到数字信号(二进制0101)转换
    数据链接层   2层  局域网之间计算机通信  通过mac地址(物理网卡)通信
    网络层       3层  IP地址,路由(通过公网ip来访问全世界)
         公网ip      具体的门牌号(唯一)
         私网ip      家里的房间号(想对唯一)
    
    传输层       4层  tcp/udp    tcp(可靠,速度慢)
                                udp(不可靠,速度快) 
                                端口(让不同的应用程序,同时使用网络)
    
    服务端使用的固定端口号,客户端使用随机端口号(支持多开)
    
    开发工程师:
    会话层       5层  控制发包的数据
    表示层       6层  文件格式
    应用层       7层  应用程序使用
    

    对运维来说,重中之重的协议:tcp协议

    3:tcp/ip协议 5层

    • 物理层
    • 数据链接层
    • 网络层
    • 传输层
    • 应用层

    一个数据包分成2部分,一个控制层面的数据,一个是应用层面的数据:控制层面只占一小部分,数据层面才占用大部分!

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

    数据封装与解封装过程

    应用层--->>>数据
    传输层--->>>tcp报头+数据
    网络层--->>>ip包+tcp报头+数据
    数据链接层--->>>数据帧+ip包+tcp报头+数据
    物理层----->>>将完整的数据包,由二进制转换成电信号
    

    最重要的协议:TCP

    5:tcp三次握手,四次挥手

    image.png

    tcp协议在传输数据的时候,需要先进行三次握手,传输上三层数据,四次挥手
    tcp的标识:
    SYN:建立链接
    ACK:回应标识
    FIN  断开链接
    PSH  数据包
    URG  紧急指针
    RST  重置(重传)
    

    6.tcp的三次握手

    三次握手过程演示

    7.tcp的四次挥手

    四次挥手过程演示

    8.用Wireshark软件抓包过程:(tcp.prot == 22)

    1.安装vsftpd
    2.systemctl start vsftpd
    3.systemctl stop firewalld
    systemctl disable firewalld
    4.useradd qiang
    echo "1" |passwd --stdin qiang
    5.到windows命令行模式,键入ftp--->>>输入open 10.0.0.200
    6.提示输入用户名和密码
    7.然后用wireshark执行抓包过程(三次握手、四次挥手、用户名和密码)
    

    三次握手.png
    四次挥手.png

    用户名和密码.png

    练习题:在10.0.0.200服务器上安装telnet服务端(安装,配置,启动)

    在window上telnet登录10.0.0.200,把整个登录过程抓包抓下, 三次握手,四次挥手,显示账号密码的包

    1.安装telnet包
    yum install telnet* -y
    yum install xinetd -y
    
    2.配置telnet
    vim /etc/xinetd.d/telnet
    service telnet
    {
        flags      = REUSE
        socket_type   = stream        
        wait       = no
        user       = root
        server     = /usr/sbin/in.telnetd
        log_on_failure    += USERID
        disable       = no
    }
    
    3.启动
    systemctl start xinetd.service
    
    4.创建普通用户
     useradd abc
     echo "1" |passwd --stdin abc
    
    5.重启服务
     systemctl restart xinetd.service
    

    6.执行抓包
    三次握手.png

    断开连接.png

    四次挥手.png

  • 相关阅读:
    自定义Listview
    android ListView嵌套GridView显示不全问题
    Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
    android service被系统回收的解决方法
    android Activity基类通用方法
    用 FragmentManager 替换时使用 GoogleMaps 崩溃 app
    Gulp 从0开始
    面试题 之 全排列
    面试题之 query转为obj
    this .运算符 和 [] 运算符
  • 原文地址:https://www.cnblogs.com/yinwu/p/11436651.html
Copyright © 2011-2022 走看看