wireshark抓包
来源:互联网 发布:sybase数据库厂家 编辑:程序博客网 时间:2024/04/30 09:47
csdn把图吃了!!!
为什么大牛们都自己搭个blog,想想也是欸
下过月给自己搭个wordpress吧
信息安全原理
作业4
抓取访问本校主页时所有的包并进行分析
Linux上的wireshark不能选择interfaces,也就是不能探测到网卡
这个问题困扰了我好久,我觉得应该是权限问题,如果给root权限来跑wireshark应该是可以的
不管怎样,先用windows来试试吧
wireshark 1.10 64bit
安装时要卸载winpcap4.1.2,安装winpcap4.1.3
好,开始运行wireshark
选择一个Interface
我是使用wifi上网的,选择那个无线网卡,start
屏幕上的数据不断刷新,我只需要捕获与学校官网服务器的传输的包
先ping www.***.edu.cn
获取ip 10.203.5.100
这应该是内网地址
添加一个过滤器,筛选出指定的包
host **.**.**.**的意思是
支持所有协议 Protocol: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
支持所有方向 Direction: src, dst, src and dst, src or dst
主机? Host(s): net, port, host, portrange
Logical Operations(逻辑运算): not, and, or. 这个是将数据做逻辑运算的意思?
本次作业并不那么复杂,就不需要那么多配置了
然后点击start
刷新一下网页
数据真的不少
另外一个ip是我本机的
那就开始分析数据吧
粗略看了一下,所有的包的协议不是tcp就是http,而且以tcp居多
TCP协议用于建立可靠的连接,建立连接需要3次握手
维基百科不能上了!!!
先看最前面的数据包
SYN(synchronous)是TCP/IP建立连接时使用的握手信号,TCP连接的第一个包,非常小的一种数据包
ACK (Acknowledgement) 确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接受无误
前8个包都是本机发向服务器的syn
第9个包服务器反馈syn+ack
10 本机发送ack
11 服务器反馈syn+ack
12 本机发送ack,三次握手成功,此时tcp连接建立
超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
13 本机向服务器发送一个http请求,这个包较大578
请求方法 GET 目录 / 协议 HTTP/1.1 主机 10.203.5.100
连接属性 持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象
下面是缓存,接受文件格式,本机浏览器信息(UA),编码压缩方式,语言,cookie……
14 15 本机和服务器互相发送确认信息
16 - 18 似乎是本机的握手信号重发
下面类似,应该是继续互相确认信息
随便找两天出来研究一下
本机发向服务器的确认信息,本机的端口为49838,目标主机端口为80(http协议使用80端口)
服务器的握手和确认信息
下面的差不多,应该就是两个端口互相传输信息
至于什么为什么出现这么多次握手和确认,还有重发
我猜是服务器连接不稳定,今天连接本校官网的时候,第一次居然没有连接上,后来连接上了,也一直在传输数据,这样可以假定服务器并不稳定
随便找了个包,发现flag里面藏着一些东西
TCP Dup ACK XXXX#X 则代表了数据段丢失TCP状态,XXXX代表数据丢失的位置,#后代表第几次丢失;
TCP Retransmission则代表重发丢失数据。
TCP segment of a reassembled PDU 主机响应一个查询或者命令时如果要回应很多数据(信息)而这些数据超出了TCP的最大MSS时,主机会通过发送多个数据包来传送 这些数据(注意:这些包并未被分片)。对wireshark来说这些对相应同一个查询命令的数据包被标记了“TCP segment of a reassembled PDU”
既然主机返回了很多信息,那么http相应也该开始了
48 200 OK 表示请求已成功,请求所希望的响应头或数据体将随此响应返回。
flags里面有fin psh ack
SYN表示建立连接
FIN表示关闭连接
ACK表示响应
PSH表示有 DATA数据传输,
RST表示连接重置。
其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应
如果只是单个的一个SYN,它表示的只是建立连接。
TCP的几次握手就是通过这样的ACK表现出来的。
但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接
RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。
一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。
看一下http响应头里面有什么
状态码200 响应解析 成功 服务器是Apache 文件编码 gzip 长度类型延迟…… 还有一个压缩比
这个line-based text data把html的页面内容都包括了
50 本机给服务器发了 fin ack
四次握手用来关闭已建立的TCP连接
1. (B) –> ACK/FIN –> (A)
2. (B) <– ACK <– (A)
3. (B) <– ACK/FIN <– (A)
4. (B) –> ACK –> (A)
由于TCP连接是双向连接, 因此关闭连接需要在两个方向上做。
难道本机是想关闭连接?
52 GET方法获取资源文件
这是css文件,下面两个是特征码匹配和修改时间,应该是用于缓存的
使用了Cookie 和 SESSION,都加密过了
这是个js文件
67 HTTP状态码304
304 Not Modified
如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。
文档的内容根上次没有改变,可以使用缓存!
72也是
感觉是每从获取一个HTTP相应,本机都会发送一个终止连接符 fin
我的猜测是不断去连接并且不断校验连接
208 似乎是使用了ajax技术
GET方法异步获取相应uri上的内容
格式是json和js
用浏览器试了一下那个uri,获取的内容是null
226 本机向服务器请求一张图片
接受格式 image/webp
浏览器打开是一张奇怪的东西
本机的请求和服务器的相应并不同步,并且每过一些包就会重发
感觉今天我校服务器不行啊,包交换重发的次数很多
如果一个TCP Window变为0了, 或者接近0了, 这就会警告数据发送方没有更多空间来接受更多数据了.
文件传输会停止, 直到收到一个update说buffer已经清空了
781 提示清空buffer的意思?本机发给服务器
在后面经常出现这个提示包
看来上一下学校官网,要下载的东西还就不少
1709 服务器反馈了一个相应头 似乎是个图片,不知道是为什么,前面没有找到本机的请求头
这个不太一样的是 连接保持是 关闭
难道预示了TCP传输要关闭的前兆?
还有一堆其他的东西,应该是个比较奇怪的图片
我的猜测,与前面的304相应的区别是这是一张新的图片,并没有缓存下来
最后面几条TCP连接关闭的握手
连接终止: 建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的
1722 是本机最后发向服务器的确认符,确认连接终止
好了,折腾这么久,还是很有收获的
了解了TCP和HTTP这两个协议都是干什么的,对TCP协议的开始和终止的握手的印象也加深了
HTTP请求头和相应头里面的东西对WEB编程很有帮助,通过这些东西可以写出一些更加出色的程序
参考: http://blog.csdn.net/xmphoenix/article/details/6546022
- wireshark抓包分析
- wireshark抓包分析
- Wireshark 远程抓包 .
- wireshark过滤抓包
- wireshark抓包分析
- Wireshark 远程抓包
- wireshark 远程抓包
- Wireshark 远程抓包
- wireshark抓包
- wireshark抓包
- wireshark 抓包问题
- wireshark抓包规则
- wireshark 抓包规则
- wireshark抓包
- wireshark 抓本地包.
- Wireshark远程抓包
- wireshark 抓本地包
- wireshark抓包dhcp
- cookie记录访问人数
- 再谈链表的使用
- 电脑常用快捷键(尤其适合Win 8系统)
- Cubietruck开发板SPL实验
- Palindromes _easy version(杭电2029)
- wireshark抓包
- 将string 转化为 char *str
- python 进程池2 - Pool相关函数
- 50个提高PHP程序运行效率的方法
- C语言不定参数
- 武功秘籍
- 面试-HTTP漫谈
- unity3D游戏开发八之天空盒
- 《从程序员到项目经理》读书笔记(三) :外行可以领导内行吗