wireshark相关协议详解和nc命令建立对话

91 篇文章 3 订阅
66 篇文章 1 订阅

TFTP简介:

  1. tftp简单的文件传输协议,用于实现误判系统引导、小文件传输、系统镜像升级引导等
  2. TFTP基于UDP协议设计(69)端口采用停止等待方式进行文件传输,采用超时重传机制进行重传
  3. TFTP将传输数据时将文件数据切割成块512字节方式传输,当最后一块不是512字节,则表示传输完成。
  4. TFTP支持ASCII码(文本,模式)和Octet(二进制模式)两种方式传输,可对文件进行读和写两种操作
    自己搭建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进行抓包;

    nc -l 1234 # Server 1
    nc 127.0.0.1 1234 # 127.0.0.1 换成 Server 1 的 IP 即可.

打开两个终端之后,就可以直接进行相互之间的通话了,想结束聊天可以使用^D (Ctrl + D)

扫描PORT看那个Port是开放的

    nc -v -w 2 localhost -z 30-80

        localhost [127.0.0.1] 80 (http) open
        localhost [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.txt
    Client 端解密: mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567

nc 与 telnet 连通

    nc -l 1234 # 建立 1234 port socket server
    telnet localhost 1234 # 連到 socket server
    # 再來互相打字, 都可以相互接收
    Server 直接打開一個 Shell: nc -l 1567 -e /bin/bash -i
    Client 連進來: nc 172.31.100.7 1567

nc 跑影音流


        Server: cat video.avi | nc -l 1567
        Client: nc localhost 1567 | mplayer -vo x11 -cache 3000 -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Achou.Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值