内容简介:在之前的文章里讲到过网络通信原理、网络协议端口、漏洞扫描等网络相关知识,很多网友看到这些文章以后都说写的不错,但是阅读后感觉还是做不到深刻理解,今天我就教大家一个工具,有了这个工具,你就可以验证之前学习过的网络知识了。"这是一个什么工具呢?这么神奇"其实我相信大家很多人都听说过或者使用过,而且这个工具也是黑客或者从事网络工程的工作者必用的工具,它就是"网络抓包工具"。今天我们就详细介绍一下网络抓包的目的是什么?常用的网络抓包工具有哪些?网络抓包工具的使用方法和技巧!
在之前的文章里讲到过网络通信原理、网络协议端口、漏洞扫描等网络相关知识,很多网友看到这些文章以后都说写的不错,但是阅读后感觉还是做不到深刻理解,今天我就教大家一个工具,有了这个工具,你就可以验证之前学习过的网络知识了。"这是一个什么 工具 呢?这么神奇"其实我相信大家很多人都听说过或者使用过,而且这个工具也是黑客或者从事网络工程的工作者必用的工具,它就是"网络抓包工具"。
今天我们就详细介绍一下网络抓包的目的是什么?常用的网络抓包工具有哪些?网络抓包工具的使用方法和技巧!
一、 网络抓包目的是什么?
官方定义:抓包(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基础架构如下:
Wireshark的官方下载网站:
Wireshark是开源软件,可以跨平台使用
具体使用方法如下:
1、 界面窗口介绍
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码的方式列出报文内容。
需要停止抓取报文的时候,点击左上角的停止按键。
色彩标识:
进行到这里已经看到报文以绿色,蓝色,黑色显示出来。Wireshark通过颜色让各种流量的报文一目了然。比如默认绿色是TCP报文,深蓝色是DNS,浅蓝是UDP,黑色标识出有问题的TCP报文——比如乱序报文。
报文样本:
比如说你在家安装了Wireshark,但家用LAN环境下没有感兴趣的报文可供观察,那么可以去Wireshark wiki下载报文样本文件。
打开一个抓取文件相当简单,在主界面上点击Open并浏览文件即可。也可以在Wireshark里保存自己的抓包文件并稍后打开。
过滤报文:
如果正在尝试分析问题,比如打电话的时候某一程序发送的报文,可以关闭所有其他使用网络的应用来减少流量。但还是可能有大批报文需要筛选,这时要用到Wireshark过滤器。
最基本的方式就是在窗口顶端过滤栏输入并点击Apply(或按下回车)。例如,输入"dns"就会只看到DNS报文。输入的时候,Wireshark会帮助自动完成过滤条件。
也可以点击Analyze菜单并选择Display Filters来创建新的过滤条件。
另一件很有趣的事情是你可以右键报文并选择Follow TCP Stream。
你会看到在服务器和目标端之间的全部会话。
关闭窗口之后,你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文。
检查报文:
选中一个报文之后,就可以深入挖掘它的内容了。
也可以在这里创建过滤条件——只需右键细节并使用Apply as Filter子菜单,就可以根据此细节创建过滤条件。
3、应用Wireshark观察基本网络协议
wireshark与对应的OSI七层模型
TCP报文: TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。这个我之前的文章有讲过就不在陈述过程了,接下来用抓包工具阐述以下过程。
首先打开wireshark, 打开浏览器输入一个网址,然后在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图
图中可以看到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报文:
地址解析协议,即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方式,实现容易,软件开发部署也简单,无需额外的客户端,使用浏览器即可使用。这一过程开始于请求服务器传送网络文件。
从上图可见报文中包括一个GET命令,当HTTP发送初始GET命令之后,TCP继续数据传输过程,接下来的链接过程中HTTP会从服务器请求数据并使用TCP将数据传回客户端。传送数据之前,服务器通过发送HTTP OK消息告知客户端请求有效。如果服务器没有将目标发送给客户端的许可,将会返回403 Forbidden。如果服务器找不到客户端所请求的目标,会返回404。
如果没有更多数据,连接可被终止,类似于TCP三次握手信号的SYN和ACK报文,这里发送的是FIN和ACK报文。当服务器结束传送数据,就发送FIN/ACK给客户端,此报文表示结束连接。接下来客户端返回ACK报文并且对FIN/ACK中的序列号加1。这就从服务器端终止了通信。要结束这一过程客户端必须重新对服务器端发起这一过程。必须在客户端和服务器端都发起并确认FIN/ACK过程。
今天的文章目的主要是让大家了解网络抓包的工作过程,如何去使用它,帮助我们分析判断网络故障,查询网络漏洞,维护网络安全,更好的学习网络原理。近期我会通过头条平台发布个人关于信息安全知识讲解的课程,小伙伴们可以时刻关注哦!!!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- “黑客”必用兵器之“密码口令破解篇”
- 二十一般“兵器”助力企业级远程协作
- 成为“黑客”前,必拥有的”黑客工具箱“
- 增长黑客:根据6个关键节点做黑客增长
- 美国起诉朝鲜黑客,涉索尼及WannaCry等黑客案
- 政府炸毁黑客团伙的大楼,黑客反击“一颗导弹警告”
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法设计与分析基础
Anany Levitin / 潘彦 / 清华大学出版社 / 2015-2-1 / 69.00元
作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些......一起来看看 《算法设计与分析基础》 这本书的介绍吧!