一文包你学会网络数据抓包

news2024/12/23 1:47:39

本篇将图文并茂教你如何使用抓包工具,并在文章最后教大家如何偷取FTP的用户名密码。

一、安装

本文为大家介绍一个非常好用的抓包工具,科来

下载地址:

http://www.colasoft.com.cn/

下载科莱

下载完毕,双击直接下一步即可安装。

二、界面介绍

双击桌面图标:

科来

启动界面如下:

启动界面

选择实时分析,进入选择网卡界面:

选择网卡

彭老师的电脑是通过无线网卡连接路由器,所以选择无线网络连接2。【如果是有线网卡,选择本地连接

点击开始,即可实现抓包:

                                                                          抓包界面

科来功能十分强大,我们仅介绍常用的一些功能:

  1. 选择网卡

  2. 开始抓包

  3. 停止抓包

  4. 设置过滤器

  5. 显示IP会话信息

  6. 显示TCP会话信息

  7. 显示UDP会话信息

每一个按钮详细解释啊如下:

  1. 设置网络接口界面

选择网卡

  1. 设置过滤器 参考第三章

  2. 显示IP会话信息科来最大的优点就是把所有的数据根据源和目的进行了归类,这样方便我们根据查找和某个服务器的的进程交互的所有的数据包。

IP会话

  1. 显示TCP会话信息

点击TCP会话

点击上方的数据包分类的窗口,科来帮助我们把tcp数据包交互的所有的时序也帮助我们排好了!

 

彩!

tcp分类

可以清晰的看到TCP通信从3次握手、到数据发送、ack回复,4次握手。

查看数据包内容:

如上图所示,我们选中三次握手的syn包,右侧上方为科来帮我们解析过的数据包头信息,右侧下方为实际数据包的16进制信息。

  1. 显示UDP会话信息

点击编号是19的数据包:

三、如何过滤数据包

过滤器设置窗口如下:

我们可以根据需要选择我们要抓取的数据包,比如我们只想抓取ICMP(ping包)的数据包,只需要选中即可:

过滤ICMP

这样我们再次点击开始,就只会抓取ICMP的数据包了。

1. 过滤端口

点击右侧的添加按钮,进入过滤条件设置页面:

过滤条件设置

然后选中该协议:

在浏览器中输入以下地址:

http://sohu.com:8888/
该网址是访问sohu.com对应的服务器的8888端口,rfc1738有关于域名信息的详细解释。

点击开始,即可抓取到该端口的所有数据包,而非8888端口的数据包就会过滤掉。

 

port 8888

2. 过滤ip地址

我们首先获取baidu服务器的ip地址:

ping baidu

可得到 百度服务器地址 39.156.69.79

如果我们只想抓取和百度服务器通信的所有数据包,设置如下:

其中:|| 是逻辑或的意思,该表达式表示所有目的ip或者源ip是39.156.69.79的数据包。

选中该过滤条件:

点开开始,开启抓包:

然后,ping 39.156.69.79

即可抓取到对应的ping包

注意,要在IP会话中查看。

点击数据包:

icmp

3. 其他

过滤器的表达式还有很多种, 比如:

  • 不抓取端口号为8888数据包,表达式为:

port != 8888
  • 不抓取ip地址为39.156.69.79 的数据包,表达式为:

dstip != 39.156.69.79 && srcip != 39.156.69.79

读者可以根据自己的需要来组合搭配对应的过滤条件来高效的抓取自己需要的数据包。

 

四、 其他功能

1. 选择工具->IP地址归属地查询

可以显示制定IP地址所在地。

IP地址归属地查询

2. 选择工具->Ping Tool

可以实现对某个IP地址的ping。

Ping Tool

3. 选择工具->MAC地址扫描器

使用该工具可以扫描该局域网内所有的IP地址和MAC地址。

MAC地址扫描器

4. 选择工具->数据包生成器

使用该工具可以辅助我们填写制定类型的数据包,并制定对应的网卡发送该数据包,在我们测试通信协议健壮性时,该工具非常实用。

数据包生成器

五、偷取ftp登录的用户名、密码

下面手把手教大家如何偷取FTP登录的用户名、密码。ftp协议详细流程在此不展开讨论,读者可以自行搜索,网上资料很多。

FTP

1. 环境

本次测试环境在本地测试。ftp服务器运行在pc上,ip地址是192.168.0.104,端口号用默认的21、22 ftp客户端运行在虚拟机中的ubuntu,IP地址设置为192.168.0.111

1)虚拟机设置

一口君pc连接的无线路由器,虚拟机设置的是桥接模式,所以 编辑->虚拟网络编辑器,做如下选择,选择已桥接至无线网卡。【如果是网线连接路由器,则选择有线网卡】

桥接模式

2)设置虚拟网卡地址

ifconfig ens33 192.168.0.111

虚拟机地址

3)设置FTP服务器

ftp服务器运行在pc上, 用户名:yikoulinux密码:yikoulinux共享目录:e:/一口Linux

FTP server

ftp server的下载安装,本文不再介绍。

2. 抓取数据包

1) 选择无线网卡

因为是桥接模式,所以仍然选择无线网卡,其他环境的话,如果读者不熟悉,可以把所有网卡都选中。

选中网卡

2)设置过滤器

设置FTP协议,我们只需要抓取FTP协议的数据包,规则如下:

port = 21 || port = 22

过滤规则

选中该规则

注意,不要和上一章例子冲突了。

在这里插入图片描述

 

点击开始抓取数据包。

3) 访问ftp server

ubuntu中登录ftp,并输入用户名、密码。

ftp 192.168.0.104
键入用户名 yikoulinux
键入密码 yikoulinux
显示根服务器目录 ls
退出 quit 

4)FTP协议交互流程

FTP协议的交互流程如下图所示:

FTP 数据交互流程

1. 建立连接阶段

该阶段是 FTP 客户端通过 TCP 三次握手与FTP服务器端进行建立连接。

客户端向 FTP 服务器发出建立连接请求,FTP 服务器对请求进行应答。如果 FTP 服务器上的 21 端口是启用的,可以接受来自其他主机的请求,给出应答 220,表示服务就绪,即告诉客户端需要的 FTP 服务已经准备好了。

返回应答以后,FTP 服务器需要客户端进行身份认证,向客户端发送身份认证请求。

2. 身份认证阶段

身份认证是指客户端需要向FTP服务提供登录所需的用户名和密码。FTP 服务器对客户端输入的用户名和密码都会给出相应的应答。如果客户端输入的用户名和密码正确,将成功登录FTP服务器,此时进入 FTP 会话。

3. 命令交互阶段

在 FTP 会话中,用户可以执行 FTP 命令进行文件传输,如查看目录信息、上传或下载文件等。客户端输入要执行的 FTP 命令后,服务器同样会给出应答。如果输入的执命令正确,服务器会将命令的执行结果返回给客户端。执行结果返回完成后,服务器继续给出应答。

4. 断开连接阶段

当客户端不再与 FTP 服务器进行文件传输时,需要断开连接。客户端向 FTP 服务器发送断开连接请求,服务器收到断开连接后给出相应的应答。

5. tcp断开

tcp断开仍然需要四次握手。

4)截获数据包

截取到数据包一共28个:

ftp数据包

1-14个数据包如下:

1-14包

15-28个数据包如下:

15-28包

5) 那么用户名密码怎么获得呢?

查看第6个数据包,

用户名

第9个数据包查看密码

密码

可见,我们通过抓包工具获取到了刚才访问FTP 服务器输入的用户名密码!

6) 注意

之所以可以通过数据包得到用户名和密码,是因为访问FTP 服务器时登录用的用户名和密码是明文的,这非常不安全,所以现在传输文件基本上会使用FTPS,ssh、HTTPS等带秘钥的加密协议。要想破解,难度会很大。

End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

msvcr71.dll丢失的解决方法,多种修复方法全方位分享

当我们在使用某些软件时,可能会出现提示“msvcr71.dll丢失”的错误信息。这个错误信息意味着我们的电脑缺少msvcr71.dll文件,这个文件是由Microsoft Visual C 2003运行库提供的。如果我们遇到这个问题,我们需要采取措施来解决它。本文将介绍m…

体验管理|如何快速低成本开始体验相关的数字化工作‼️

Guofu 第 95⭐️ 篇原创文章分享 (点击👆🏻上方卡片关注我,加⭐️星标⭐️~) 🚏 写在前面 在体验经济时代,传统企业在应对新需求、新挑战的时候,也需要用新的方式进行企业升级和转型…

DailyMart03:如何基于DDD设计商城的领域模型?

大家好,我是飘渺。既然有人催更那今天咱们就继续更新DDD&微服务系列! 在面向对象开发中,所有事物都可以看作是对象。然而,在日常开发中,我们通常从数据出发来设计对象的表现形式,这种做法侧重于数据属性…

二、高通相机bringup 流程

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、相机Sensor 点亮相关的文件二、Sensor 驱动文件详解 一、相机Sensor 点亮相关的文件 1.1 Sensor 驱动XML以及CPP文件 Sensor 文件路径:…

搭建Nextcloud私有云 - 零基础搭建私有云盘并内网穿透远程访问

文章目录 摘要视频教程1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 转载自cpolar极点云的文章:使用Nextcl…

Python网页开发(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.5.31 最早更新时间:2023.5.31 文章目录 1. 项目实例2. flask包2. Django包3. mod_wsgi包 flask和Django等包是用来写网站的,但这些包构建的网站直接运行是不稳定的,所以需要Apa…

软件设计师(中级)全过程总结

软考总结目录 宏观  学习感受  阶段划分 微观  1.自己看书和看视频:  2.学习的知识点和课后题进行结合  3.做往年的软考真题  4.提炼出相对来说难以攻克的问题组织分享和讨论  5.小组讨论做错的题并进行结构化 总结学习时间上学习方法上学习形式上 宏…

86.建立主体页面-第二部分

上一节我们的基础的页面已经生成了,页面如下: ● 接着我们来编写标题的样式,标题的调整可以根据自己的需求来调整,我这里就直接写 .heading-primary {font-size: 5.2rem;font-weight: 700;line-height: 1.05;color: #333;lette…

一般测试用例执行过程的四个步骤

一般测试用例执行过程的四个步骤 测试用例的执行过程是软件测试中非常重要的一环,它可以有效验证软件是否符合预期的功能和性能要求,进而保证软件的质量和稳定性。一般来说,测试用例的执行过程可以分为四个步骤: 第一步&#xff1…

【C++】struct 和 class 的区别

欢迎来到博主 Apeiron 的博客,祝您旅程愉快。时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、示例代码 3、总结 1、缘起 在 C 中,struct 和 class 唯一的区别就在于 默认的访问权限不同。区别如下: …

STM32调试功能

文章目录 STM32调试功能1.硬件接口图2.调试原理3.引脚分配4.调试接口使用方式5.芯片配置 STM32调试功能 1.硬件接口图 2.调试原理 Cortex-M内核(M0/M3/M4/M7等)包含用于高级调试功能的硬件。利用这些调试功能,可以在取指(指令断…

设计模式之~命令模式

定义: 命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 为什么需要命令模式? 在我们的软件开发系统中…

100万数据导出,居然爆炸了OutOfMemoryError?【EasyPoi实战系列】- 第472篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 用…

Web的基本漏洞--SSRF漏洞

目录 一、SSRF漏洞介绍 1.SSRF漏洞原理 2.SSRF漏洞经常存在的位置 3.攻击方式 4.SSRF漏洞危害 5.SSRF漏洞的防范 一、SSRF漏洞介绍 1.SSRF漏洞原理 SSRF(服务器端请求伪造)漏洞,出现的原因:是因为服务器与服务器之间有一个服务器内网&…

CVPR2023高质量论文 | Consistent-Teacher:半监督目标检测超强SOTA

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/abs/2209.01589 计算机视觉研究院专栏 作者:Edison_G 《Consistent-Teacher: Towards Reducing …

【C语言】sizeof和strlen的区别【详解】

目录 一.sizeof和strlen的主要区别 二.sizeof和strlen分别讲解(含例题和详解) 1.sizeof 在计算字符型数组时(例题讲解) 计算整型数组(例题讲解) 2.strlen 例子一(讲解)&#…

运维监控Grafana部署

运维监控Grafana部署 简介 安装 部署形式 Grafana支持两种部署形式 自行部署, 可以部署在操作系统之上. 自行提供服务器, 域名等.Grafana官方托管. 无需安装, 在线注册即可得到一个专属于自己的Grafana, 但是要花钱的. 是一种SaaS服务 我们课程选择方式1 安装 Grafana支…

0531最后的挣扎结束于传说中的段错误

部署训练后的缺陷检测模型 Linux Ubuntu18.04双机尝试 报错,Linux内核或是编译器版本不匹配,多次尝试更改18.04的gcc,g,gcc-arm-linux,garm-linux的代码,尝试在Makefile文件里更改编译器路径、添加LInux内…

智慧工厂主题 Meetup 线下报名+福利开启!IoTDB X EMQ 构建数据平台赋能智能制造...

随着全球制造业的竞争日益激烈,智慧工厂成为当今制造业的重要趋势之一。智慧工厂采用了先进的物联网、大数据等科技手段,以期通过智能化、数字化管理和生产,实现高度自动化和高效生产。因此,如何通过计算分析挖掘生产数据价值&…

【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性

文章目录 概要名词解释细节小结 概要 在安卓底层源码中,有这样的两个属性,这两个第一眼看上去都像是带不带谷歌,BUILD_AGO_GMS no和BUILD_GMSno有什么区别?? 如果带了谷歌,那么这个设备就差不多是国外定…