wireshark相关协议详解和nc命令建立对话
TFTP簡介:
自己搭建TFTP服務器卡伊參考
https://edu.51cto.com/course/2453.html
陳鑫老師的課程
上圖,圖中1是一塊,讀塊的開始。
2是指明tftp的端口號是69
對于TFTP服務器來說,要是只有一個與用戶連接的話使用的是669號端口但是,當多個端口連接進來的時候,TFTP就會使用其他的高端口號進行連接,這是TFTP特殊的地方
下圖中,一個讀塊的數據幀包括,1讀數據請求,2源文件名字,類型是Octet二進制的形式進行傳輸。
其中用到了MSS和MTU:
MTU與MSS的區別:
mtu是網絡傳輸最大報文包,mss是網絡傳輸數據最大值。
mss加包頭數據就等于mtu. 簡單說拿TCP包做例子。 報文傳輸1400字節的數據的話,那么mss就是1400,再加上20字節IP包頭,20字節tcp包頭,那么mtu就是1400+20+20. 當然傳輸的時候其他的協議還要加些包頭在前面,總之mtu就是總的最后發出去的報文大小。mss就是你需要發出去的數據大小。
1.MSS: Maxitum Segment Size 最大分段大小
2.MSS最大傳輸大小的縮寫,是TCP協議里面的一個概念。
3.MSS就是TCP數據包每次能夠傳輸的最大數據分段。為了達到最佳的傳輸效能TCP協議在建立連接的時候通常要協商雙方的MSS值,這個值TCP協議在實現的時候往往用MTU值代替(需要減去IP數據包包頭的大小20Bytes和TCP數據段的包頭20Bytes)所以往往MSS為1460。通訊雙方會根據雙方提供的MSS值得最小值確定為這次連接的最大MSS值。
tcp中的序列號能夠保證在進行是數據傳輸的過程中,客戶端和服務器的交互不會被黑客使用欺騙手段欺騙,保證數據的安全。
采用wireshark抓包對上述過程進行說明:
從圖中可以看出,第一個[SYN]包的信息是,客戶端高數服務器我的端口是33162我想訪問你的端口23,服務器回應[SYN,ACK]允許你訪問端口23,我想訪問你的端口33162,然后客戶端回應[ACK]建立連接
下圖中圈出的地方 push是緊急的意思:
NC命令
測試協議的時候若是沒有數據抓包可一下linux上自己創造,比如使用:
nc 命令:
可以使用linux自帶的nc命令進行聊天,再使用wireshark進行抓包;
打開兩個終端之后,就可以直接進行相互之間的通話了,想結束聊天可以使用^D (Ctrl + D)
掃描PORT看那個Port是開放的
nc -v -w 2 localhost -z 30-80localhost [127.0.0.1] 80 (http) openlocalhost [127.0.0.1] 53 (domain) open傳送資料
cat filename | nc -l 9090 # 通過 9090 port 傳送 filename 的檔案內容nc localhost 9090 # 接收 9090 port 傳來檔案內容檔案傳送
nc -l 1234 > filename # 接收 Server 先建立 (Port: 1234)nc 127.0.0.1 1234 < test.txt # 傳送 Server 然后建立連接并產送檔案的內容. (要j是使用的是其他的IP將127.0.0.1換成要使用的額IP)Server 端加密: nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txtClient 端解密: mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567nc 與 telnet 連通
nc -l 1234 # 建立 1234 port socket servertelnet localhost 1234 # 連到 socket server# 再來互相打字, 都可以相互接收Server 直接打開一個 Shell: nc -l 1567 -e /bin/bash -iClient 連進來: nc 172.31.100.7 1567nc 跑影音流
Server: cat video.avi | nc -l 1567Client: nc localhost 1567 | mplayer -vo x11 -cache 3000 - 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的wireshark相关协议详解和nc命令建立对话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:孙宗哲(1991-),男,东北大学
- 下一篇: 【2017年第4期】大数据标准体系