###### tags: `network` `hw` `thu` # Wireshark Part. 2 - 三方交握 ## 1. 生出Web Server ```bash! docker run --rm -p 8000:80 --name web-test nginx:latest ```  ## 2. 打開Wireshark, 並選擇loopback device以監聽localhost上的流量。  ## 3. 用瀏覽器打開: "http://localhost:8000/"  ## 4. 在Wireshark裡查看結果:  ### a. [SYN] : client -> server - 在這個階段,Client正在跟Server同步Sequence number(這時會先設為0)。 - 這時最大可接受的Window size等後續建立連線會用的訊息也會被一同傳送。 ```! [SYN] Seq=0 Win=65476 Len=0 MSS=65476 SACK_PERM TSval=2367788683 TSecr=0 WS=128 ```  ### b. [SYN, ACK] : server -> client - 在收到Client端的請求後,會發出同為同步跟ACK功用的一個封包。 - 這個封包裡也包含了最大可接受Window Size等連線訊息等。 - 注意,Sequence number在這時還是在0。 ```! [SYN, ACK] Seq=0 Ack=1 Win=65464 Len=0 MSS=65476 SACK_PERM TSval=2367788683 TSecr=2367788683 WS=128 ```  ### c. [ACK] : client -> server - 在接到Server的確認之後,Client在ACK的同時,就會送出連線使用的Window Size大小。 - 注意,Sequence number在這時就已經跳到1了。 ```! [ACK] Seq=1 Ack=1 Win=65536 Len=0 TSval=2367788683 TSecr=2367788683 ``` 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up