1、详细介绍一下网络抓包的目的是什么?
2、常用的网络抓包工具有哪些?
3、网络抓包工具的使用方法和技巧!
网络抓包目的是什么?
对于白帽子黑客来说抓包的目的就是分析网络报文、定位网络接口问题、分析应用数据接口、学习网络协议,使用抓包工具可以直观的分析出网络数据 。
这里还是需要提醒小伙伴们一次,咱们学习的目的一定是为了掌握这门技术,去更好的服务于生活,为社会能够创造正向价值,千万不要走偏往犯罪的道路前行。
常用的网络抓包工具有哪些?
1、Wireshark
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。
2、tcpdump
tcpdump 可以抓所有层的数据,功能十分强大,tcpdump Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
3、httpwatch
HttpWatch是强大的网页数据分析工具.集成在Internet Explorer工具栏。包括网页摘要、Cookies管理、缓存管理、消息头发送/接受、字符查询。POST 数据和目录管理功能、报告输出。HttpWatch 是一款能够收集并显示深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE之间的交换信息。集成在Internet Explorer工具栏。
4、Burpsuite
目前Web安全渗透,是必须的工具,没有之一,功能十分强大,Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
5、Fiddler
目前最常用的web 报文渗透工具,功能十分强大,可以最为本地代理,报文重放等等。Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的”进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
6、Charles
Charles支持抓去http、https协议的请求,不支持socket。使用情况和fiddler基本大同小异。也是很常用的抓包工具。
网络抓包工具的使用方法和技巧
由于常用的抓包工具众多,使用方法也很相似这里我只介绍其中大家最常用的Wireshark网络抓包工具的使用方法。
工具,它是功能最全面使用者最多的抓包工具。Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark基础架构如下:
具体使用方法如下:
1、界面窗口介绍
WireShark 主要分为这几个界面:
Display Filter(显示过滤器), 用于过滤
Packet Details Pane(封包详细信息), 显示封包中的字段
Dissector Pane(16进制数据)
常用按钮从左到右的功能依次是:
列出可用接口。
抓包时需要设置的一些选项。一般会保留最后一次的设置结果。
开始新的一次抓包。
暂停抓包。
继续进行本次抓包。
打开抓包文件。可以打开之前抓包保存后的文件。不仅可以打开wireshark软件保存的文件,也可以打开tcpdump使用-w参数保存的文件。
保存文件。把本次抓包或者分析的结果进行保存。
关闭打开的文件。文件被关闭后,就会切换到初始界面。
重载抓包文件。
色彩标识
进行到这里已经看到报文以绿色,蓝色,黑色显示出来。Wireshark通过颜色让各种流量的报文一目了然。比如默认绿色是TCP报文,深蓝色是DNS,浅蓝是UDP,黑色标识出有问题的TCP报文——比如乱序报文。
报文样本
比如说你在家安装了Wireshark,但家用LAN环境下没有感兴趣的报文可供观察,那么可以去Wireshark wiki下载报文样本文件。
过滤报文
另一件很有趣的事情是你可以右键报文并选择Follow TCP Stream。
你会看到在服务器和目标端之间的全部会话。
关闭窗口之后,你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文。
检查报文
选中一个报文之后,就可以深入挖掘它的内容了。
也可以在这里创建过滤条件——只需右键细节并使用Apply as Filter子菜单,就可以根据此细节创建过滤条件。
3、应用Wireshark观察基本网络协议
wireshark与对应的OSI七层模型
CP报文:TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。这个我之前的文章有讲过就不在陈述过程了,接下来用抓包工具阐述以下过程。
图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。如下图。
第二次握手的数据包
服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0 1=1, 如下图。
第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段 1,放在确定字段中发送给对方.并且在数据段放写ISN的 1, 如下图。
就这样通过了TCP三次握手,建立了连接。
ARP & ICMP
开启Wireshark抓包。打开Windows控制台窗口,使用ping命令行工具查看与相邻机器的连接状况。
停止抓包之后,Wireshark如下图所示。ARP和ICMP报文相对较难辨认,创建只显示ARP或ICMP的过滤条件。
ARP报文
ICMP报文
网络控制消息协定(Internet Control Message Protocol,ICMP)用于网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。
PC发送echo请求,收到echo回复如上图所示。ping报文被mark成Type 8,回复报文mark成Type 0。
如果多次ping同一系统,在PC上删除ARP cache,使用如下ARP命令之后,会产生一个新的ARP请求。
HTTP
HTTP协议是目前使用最广泛的一种基础协议,这得益于目前很多应用都基于WEB方式,实现容易,软件开发部署也简单,无需额外的客户端,使用浏览器即可使用。这一过程开始于请求服务器传送网络文件。
从上图可见报文中包括一个GET命令,当HTTP发送初始GET命令之后,TCP继续数据传输过程,接下来的链接过程中HTTP会从服务器请求数据并使用TCP将数据传回客户端。传送数据之前,服务器通过发送HTTP OK消息告知客户端请求有效。如果服务器没有将目标发送给客户端的许可,将会返回403 Forbidden。如果服务器找不到客户端所请求的目标,会返回404。
如果没有更多数据,连接可被终止,类似于TCP三次握手信号的SYN和ACK报文,这里发送的是FIN和ACK报文。当服务器结束传送数据,就发送FIN/ACK给客户端,此报文表示结束连接。接下来客户端返回ACK报文并且对FIN/ACK中的序列号加1。这就从服务器端终止了通信。要结束这一过程客户端必须重新对服务器端发起这一过程。必须在客户端和服务器端都发起并确认FIN/ACK过程。
推荐11个挺常用的IDEA插件
漫画:互联网人的十二时辰
成就更好的自己,就是不停地做减法
Python数据分析下,哪吒为啥这么火?