局域网下的两个 QQ 好友进行在线文件传输过程抓包


文章目录

  • 局域网下的两个 QQ 好友进行在线文件传输过程抓包
    • 介绍
    • 细节
    • 总结

介绍

由于本人一个作业需要,想要验证内网情况下两个 QQ 好友的文件传输是通过局域网直接传输的。以下是本人的数据抓包结果,具体细节没有分析,先挖坑,后面有机会再补。

抓包过程主要说明了QQ对局域网下的两个客户端的在线文件传输采用的是直接进行局域网数据转发(采用的协议是TCP).

细节

首先,本人确保了好友与本人连接到了同一局域网下,然后在线传输了一个 243 MB 的文件。

  1. QQ 传输协议

  1. 开始传输文件,两客户端建立连接

  1. 文件传输数据包

  1. 文件传输结束

总结

之前写一个 P2P 聊天程序的时候了解过 NAT 穿透的知识,其中一个 NAT 穿透的场景是,两个节点处在同一个 NAT 下,则可以节点可以通过彼此 IP 直接与对方通信。至于怎么判断判断节点 NAT 类型,比较复杂,有相关论文分析。

平时使用 QQ 可以发现,局域网下的 QQ 好友之间进行在线文件传输, 传输速度可以达到 几十甚至上百 MB/s ,有些时候这个传输速度是大于上网拨号账号的带宽的,网速不可能长时间超过账号带宽的,从该点就可以猜测文件应该是通过局域网交换机直接传输的。

从抓包结果可以简单看出,QQ 软件在处理好友的在线文件传输时,直接让两个好友直接通过局域网建立 TCP 连接,进行 P2P 的文件传输。这样,文件传输的过程中主要就是传输文件的双方直接进行通信,不需要 QQ 服务器的参与。这样做的好处显然的可以降低 QQ 服务器的负担(毕竟每传输一个大文件都要占用服务器的网络I/O一段时间),其次能够使传输速度大大增加(文件传输过程的连接是在同一局域网下进行的,速率主要受交换机限制)。

局域网下的两个 QQ 好友进行在线文件传输抓包相关推荐

  1. 如何判断两个QQ好友之间是否为好友关系

    如何判断两个QQ好友之间是否为好友关系 比如需要判断我的QQ好友A和好友B是否互为好友关系,具体步骤如下: 1.查询自己和A的共同好友数,记下这个数字 2.删除好友B,再次查询自己和好友A的共同好友数 ...

  2. 【软件测试】思维开拓—用软件测试的思维测试QQ好友是在线或者离线

    前言 近期想到一个问题,你接手一个电商平台的项目,怎么看出客户是在线状态还是离线状态,作为一个测试人员该注意那些点 为此我展开了思考,例如阿里客服.QQ好友.游戏好友都会有显示好友是在线还是离线功能, ...

  3. TCP实现在不同局域网下的两台电脑网络通信(Python实现)

    之前,我曾做过在局域网下进行通信的东西.(主要是我发现没有办法把那个东西用在不同的局域网的两台电脑).心里一直想实现一个能在广域网上能通信的东西!所以就有这个小项目! 文章目录 实现思路: 技术概念 ...

  4. qq农场,不开通牧场也能给好友添加牧草(数据抓包分析,实现源码,图片讲解)

    (图片不能另存为保存,用属性看链接,然后下载可以.) 源代码下载:http://download.csdn.net/source/1930901 一下是分析制作过程: 1.首先登录农场,(建议从空间登 ...

  5. 两个ftp服务器之间的文件传输,FTP服务器之间传输文件

    FTP服务器之间传输文件 内容精选 换一换 云服务器创建后区域固定,不能将云服务器转移到另一个区域,也不能将云服务器转移到另一个帐号.您可以通过镜像迁移方式实现云服务器的跨帐号跨区域迁移.服务器迁移的 ...

  6. 同一个局域网下的两台电脑实现定时或者实时拷贝数据

    一. 实现两台电脑文件夹共享 0.连接两台电脑的网线 主要是在一个局域网之下,连接同一个热点WiFi也是可以的. 1. 设置两台电脑的IP 网络和共享中心--更改设配器设置--Internet 协议版 ...

  7. 局域网下实现两台电脑文件夹\硬盘共享(WIN10)

    两台电脑连接至同一网络 打开控制面板→网络和 Internet→网络和共享中心→高级共享设置 启用网络发现 win+R运行services.msc 右键Function Discovery Resou ...

  8. ubuntu在同一局域网下实现两台服务器文件互传

    拷贝本地主机的文件夹到远程主机的命令: scp -r 本地主机文件夹 远程主机用户名@远程主机IP: 希望拷贝到远程主机的文件夹 scp -r /home/lsy lsy@10.110.61.2:/h ...

  9. 用网线实现两台电脑之间的大文件传输(使用电脑备份)

    一.准备一根网线,连接在两个电脑网口上(硬件要求) 二.更改网卡适配器(用于设置局域网连接) 1.控制面板-->网络和Interner-->网络共享中心-->以太网(双击) 2. 打 ...

  10. 用python爬取qq空间内容_利用Fiddler抓包和py的requests库爬取QQ空间说说内容并写入文件...

    [Python] 纯文本查看 复制代码#!C:\Program Files\Python36 python # -*- coding: UTF-8 -*- """ @au ...

最新文章

  1. 如何优雅的处理业务逻辑中的定时和延时问题?
  2. 动态隐藏ALV的行和列
  3. 字符串处理分割字符串
  4. 20140904 atoi字符串转化为整数源码
  5. 多级队列调度算法可视化界面_冷月手撕408之操作系统(8)-处理机调度
  6. centos8启动docker-mysql8容器
  7. LeetCode 1030. 距离顺序排列矩阵单元格(排序Lambda表达式BFS)
  8. Scala-Actor并行wordcount
  9. 与Android数据库一起工作
  10. Liunx上训练模型的常见情况(不定期更新)
  11. Android系统中震动功能的测试
  12. 100 - k8s源码分析-准备工作
  13. 【雷达仿真 | FMCW TDMA-MIMO毫米波雷达信号处理仿真(可修改为DDMA-MIMO)】
  14. MATLAB基础学习(一)
  15. MySQL学习路线指南
  16. 真假美猴王:假冒Android版赛博朋克2077,暗含勒索软件
  17. 大数据24小时:众安推出汽车大数据平台“数据魔方”,国内首个新能源大数据线下创新园区落户青海
  18. SQL Server查询优化方法(查询速度慢的原因很多,常见如下几种)
  19. python画心电图_基于MicroPython:TPYBoard心率监测器
  20. python将图片转换为base64

热门文章

  1. json react 展示工具_基于jsoneditor二次封装一个可实时预览的json编辑器组件(react版)...
  2. Base64原理及魔改更换码表
  3. 农村三资管理平台app_农村三资管理系统功能
  4. 一文读懂FFT,海宁窗(hann)和汉明窗(hamming)的区别,如何选择窗函数
  5. 通俗易懂谈强化学习之Q-Learning算法实战
  6. 为什么要用用例图 用例图是什么 用例图怎么画 用例图有哪些元素
  7. laravel使用dompdf总结
  8. javaweb关于404、500等错误页面的处理
  9. 机器视觉技术的应用领域
  10. uniapp 生成 海报