Giter VIP home page Giter VIP logo

arphomework's Introduction

ARPHomework

author:Ross

homework content

Open your browser on your computer, and enter one of your favorite websites such as "github.com", what do you see about the network protocol? Try to capture the packets with Wireshark, and explain the whole process(which network protocols are involved and what the MAC/IP address represents)

Answer:

arps

  • 从上图可知源mac为e2:ce:36:c1:80:43的主机发送了三个arp广播包询问ip为192.168.1.31, 192.168.1.32, 192.168.1.33的mac地址。

arp

  • 首先看报文内容可知这是一个两层协议,源机器希望目标机器填充原本用00:00:00:00:00:00占位的target mac,即希望目标机器能发送reply arp报文告知其mac地址。
  • 其次可知arp广播时目的mac为FF:FF:FF:FF:FF:FF,即向交换机连接的所有机器发送广播包,从而问询目的mac地址。

tcp

  • 由上图可知这是一个tcp three way handshake 建立连接过程
    • 源ip为192.168.1.8的机器先向目标ip为47.98.106.0的机器发送一个syn包
    • 然后ip为47.98.106.0的机器返回[syn,ack]
    • 源ip为192.168.1.8的机器再向目标ip为47.98.106.0的机器发送一个ack包
    • 从而建立tcp连接,两台主机可以进行数据交换

http

  • 从上图http /get 请求可以看到:
    • response version为当前http的协议版本
    • status code 304表示资源没有发生过改变,即当前的内容从browser的cache中读取
    • server:nginx 即目标服务器由nginx进行代理
    • connection:keep-alive允许单个TCP 连接发送和接收多个HTTP 请求/响应,而不是为每个请求/响应对打开新连接
    • request uri:表明当前请求获取favicon.ico资源

arphomework's People

Contributors

teqgin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.