前言:wireshark是一款强大抓包工具,使用它可以抓取不同的协议数据包,包括TCP、HTTP、UDP等,在使用wireshark之前要学习一下计算机网络的知识:
(1)TCP/IP协议
应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
1、对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。
2、应用层还能加密、解密、格式化数据。
3、应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。
运输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。
网络层:网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。
网络接口层:在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。
(2)以太帧(Frame):一个http帧的构成为
http数据把数据打包,封成一个数据包,从对应的IP、端口、MAC地址发送到目标IP、端口、MAC地址,不过传输到目标之前要经过服务器,服务器再选择对应IP、端口发送到目标地址。数据就由一个地方传输到另一个地方了。
在wireshark中是可以捕获到这个数据包的,如果某个网站是以明文传输数据包的话,在wireshark中捕获的数据包就可以看到数据包里面的数据。
wireshark的下载(window版和linux版):官网
下面进行几个wireshark的应用:
一、抓取网站的数据包
(1)选择几网站,打开其中一个,在登陆框随意输出账号和密码:
(2)打开wireshark进行抓包,点击WLAN:
(3)在上面的输入框输入:http.request.method==POST ,捕获以POST方式发送的数据包:
(4)发现这个网站对密码是进行了加密,可以尝试着用解码器解密一下:
(5)打开一个以明文传输的网站,重复上面的操作:
账号密码分别输入123和321,点击登录,在wireshark上抓包
可以看到明文传输的数据包上,出现了刚刚输入的账号和密码
二、抓取QQ的数据(oicq)
(1)wireshark输入框上输出oicq,表示抓取qq的数据包:
(2)查看数据包详细数据,看看有什么信息:
可以看Version版本信息、 QQ号、服务器IP等等
(3)尝试给qq好友打电话,获取好友IP
(4)打开wireshark,按Ctrl+F进行搜索 ,依次选择“字符串”,“分组详情”,“字符串”,“020048” 其中020048是QQ UDP 72字节的报文头
(5)查看数据包信息,找到目标IP,使用IP查询工具进行查找
(6)定位到好基友的位置
三、Ping和ICMP
(1)wireshark输入框中输入ip.addr == 10.34.104.3,查看选定IP的信息
(2)打开windows cmd命令行执行ping命令,在wireshark中进行抓包
(3)抓到的数据包
在wireshark输入框中输入ip.addr==220.181.38.251 and icmp
ip为ping出来的IP