“黑客”必用兵器之“网络抓包工具”

“黑客”必用兵器之“网络抓包工具”

在之前的文章里讲到过网络通信原理、网络协议端口、漏洞扫描等网络相关知识,很多网友看到这些文章以后都说写的不错,但是阅读后感觉还是做不到深刻理解,今天我就教大家一个工具,有了这个工具,你就可以验证之前学习过的网络知识了。"这是一个什么工具呢?这么神奇"其实我相信大家很多人都听说过或者使用过,而且这个工具也是黑客或者从事网络工程的工作者必用的工具,它就是"网络抓包工具"。

今天我们就详细介绍一下网络抓包的目的是什么?常用的网络抓包工具有哪些?网络抓包工具的使用方法和技巧!

一、 网络抓包目的是什么?

官方定义:抓包(packet capture)就是将发送与接收的进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。

对于白帽子黑客来说抓包的目的就是分析网络报文、定位网络接口问题、分析应用数据接口、学习网络协议,使用抓包工具可以直观的分析出网络数据 。

对于黑帽子黑客来说抓包的目的就更明确了,就是为了寻找漏洞了,黑客首先通过抓包截获数据,提取有价值数据例如数据包里的账号密码、数据包里的应用信息。截获这些数据后可以重新编辑,更改里边的价值信息再转存回去,例如新闻曝光过上海警方就破获了一起特大网络盗窃案,仅仅在半天的时间里,黑客就非法体现金额高达千万,为什么黑客会在这么短的时间里就能非法提现这么多钱呢?原来,黑客寻找到了某理财APP的系统漏洞,利用网络抓包的形式非法修改APP传给后台的数据信息,比如黑客充值1元,利用抓包,把1元改为1000或者更高的数据传给服务器,实际他只充值了1元而已,传给服务器的数据被恶意修改过。

这里还是需要提醒小伙伴们一次,咱们学习的目的一定是为了掌握这门技术,去更好的服务于生活,为社会能够创造正向价值,千万不要走偏往犯罪的道路前行。

二、常用的网络抓包工具有哪些?

1、Wireshark

Wireshark 在Windows、mac、linux都有自己的版本,可谓图形化抓包软件的最为流行的一种,针对黑客,网络管理员和安全工作者都是必备之物。

网络管理员使用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的官方下载网站:

Wireshark是开源软件,可以跨平台使用

具体使用方法如下:

1、 界面窗口介绍

“黑客”必用兵器之“网络抓包工具”_第2张图片

 

1.1WireShark 主要分为这几个界面

1) Display Filter(显示过滤器), 用于过滤

2) Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3) Packet Details Pane(封包详细信息), 显示封包中的字段

4) Dissector Pane(16进制数据)

5) Miscellanous(地址栏,杂项)

1.2常用按钮从左到右的功能依次是:

1) 列出可用接口。

2) 抓包时需要设置的一些选项。一般会保留最后一次的设置结果。

3) 开始新的一次抓包。

4) 暂停抓包。

5) 继续进行本次抓包。

6) 打开抓包文件。可以打开之前抓包保存后的文件。不仅可以打开wireshark软件保存的文件,也可以打开tcpdump使用-w参数保存的文件。

7) 保存文件。把本次抓包或者分析的结果进行保存。

8) 关闭打开的文件。文件被关闭后,就会切换到初始界面。

9) 重载抓包文件。

2、点击网络接口,获取报文

点击接口名称之后,就可以看到实时接收的报文。Wireshark会捕捉系统发送和接收的每一个报文。如果抓取的接口是无线并且选项选取的是混合模式,那么也会看到网络上其他报文。

上端面板每一行对应一个网络报文,默认显示报文接收时间(相对开始抓取的时间点),源和目标IP地址,使用协议和报文相关信息。点击某一行可以在下面两个窗口看到更多信息。"+"图标显示报文里面每一层的详细信息。底端窗口同时以十六进制和ASCII码的方式列出报文内容。

“黑客”必用兵器之“网络抓包工具”_第3张图片

 

需要停止抓取报文的时候,点击左上角的停止按键。

“黑客”必用兵器之“网络抓包工具”_第4张图片

 

色彩标识:

进行到这里已经看到报文以绿色,蓝色,黑色显示出来。Wireshark通过颜色让各种流量的报文一目了然。比如默认绿色是TCP报文,深蓝色是DNS,浅蓝是UDP,黑色标识出有问题的TCP报文——比如乱序报文。

“黑客”必用兵器之“网络抓包工具”_第5张图片

 

报文样本:

比如说你在家安装了Wireshark,但家用LAN环境下没有感兴趣的报文可供观察,那么可以去Wireshark wiki下载报文样本文件。

打开一个抓取文件相当简单,在主界面上点击Open并浏览文件即可。也可以在Wireshark里保存自己的抓包文件并稍后打开。

“黑客”必用兵器之“网络抓包工具”_第6张图片

 

过滤报文:

如果正在尝试分析问题,比如打电话的时候某一程序发送的报文,可以关闭所有其他使用网络的应用来减少流量。但还是可能有大批报文需要筛选,这时要用到Wireshark过滤器。

最基本的方式就是在窗口顶端过滤栏输入并点击Apply(或按下回车)。例如,输入"dns"就会只看到DNS报文。输入的时候,Wireshark会帮助自动完成过滤条件。

“黑客”必用兵器之“网络抓包工具”_第7张图片

 

也可以点击Analyze菜单并选择Display Filters来创建新的过滤条件。

“黑客”必用兵器之“网络抓包工具”_第8张图片

 

另一件很有趣的事情是你可以右键报文并选择Follow TCP Stream。

“黑客”必用兵器之“网络抓包工具”_第9张图片

 

你会看到在服务器和目标端之间的全部会话。

“黑客”必用兵器之“网络抓包工具”_第10张图片

 

关闭窗口之后,你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文。

“黑客”必用兵器之“网络抓包工具”_第11张图片

 

检查报文:

选中一个报文之后,就可以深入挖掘它的内容了。

也可以在这里创建过滤条件——只需右键细节并使用Apply as Filter子菜单,就可以根据此细节创建过滤条件。

“黑客”必用兵器之“网络抓包工具”_第12张图片

 

3、应用Wireshark观察基本网络协议

wireshark与对应的OSI七层模型

“黑客”必用兵器之“网络抓包工具”_第13张图片

 

TCP报文:TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。这个我之前的文章有讲过就不在陈述过程了,接下来用抓包工具阐述以下过程。

首先打开wireshark, 打开浏览器输入一个网址,然后在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图

“黑客”必用兵器之“网络抓包工具”_第14张图片

 

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

“黑客”必用兵器之“网络抓包工具”_第15张图片

 

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

“黑客”必用兵器之“网络抓包工具”_第16张图片

 

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

“黑客”必用兵器之“网络抓包工具”_第17张图片

 

就这样通过了TCP三次握手,建立了连接。

ARP & ICMP:

开启Wireshark抓包。打开Windows控制台窗口,使用ping命令行工具查看与相邻机器的连接状况。

“黑客”必用兵器之“网络抓包工具”_第18张图片

 

停止抓包之后,Wireshark如下图所示。ARP和ICMP报文相对较难辨认,创建只显示ARP或ICMP的过滤条件。

“黑客”必用兵器之“网络抓包工具”_第19张图片

 

ARP报文:

地址解析协议,即ARP(Address Resolution Protocol),是根据获取的一个。其功能是:将ARP请求到网络上的所有主机,并接收返回消息,确定目标的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。

最初从PC发出的ARP请求确定IP地址192.168.1.1的MAC地址,并从相邻系统收到ARP回复。ARP请求之后,会看到ICMP报文。

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方式,实现容易,软件开发部署也简单,无需额外的客户端,使用浏览器即可使用。这一过程开始于请求服务器传送网络文件。

“黑客”必用兵器之“网络抓包工具”_第20张图片

 

从上图可见报文中包括一个GET命令,当HTTP发送初始GET命令之后,TCP继续数据传输过程,接下来的链接过程中HTTP会从服务器请求数据并使用TCP将数据传回客户端。传送数据之前,服务器通过发送HTTP OK消息告知客户端请求有效。如果服务器没有将目标发送给客户端的许可,将会返回403 Forbidden。如果服务器找不到客户端所请求的目标,会返回404。

如果没有更多数据,连接可被终止,类似于TCP三次握手信号的SYN和ACK报文,这里发送的是FIN和ACK报文。当服务器结束传送数据,就发送FIN/ACK给客户端,此报文表示结束连接。接下来客户端返回ACK报文并且对FIN/ACK中的序列号加1。这就从服务器端终止了通信。要结束这一过程客户端必须重新对服务器端发起这一过程。必须在客户端和服务器端都发起并确认FIN/ACK过程。

你可能感兴趣的:(计算机网络)