三次握手创建连接 四次挥手断开连接:
1:将网络抓包先全部搞清楚机制
Http请求流程
1:三次握手 创建链接
1:首先client发送SYN,发送
2:发送Get请求
3:收到服务端返回的json数据
4:KEEP-ALIVE
5:四次挥手 断开链接
结束可以由服务端发起 也可以由客户端发起
结束流程 1:Fin Ack Seq
2:
3:
4:
(seq就是Sequence number的简写,即序列号, Ack就是Acknowledge number 应答码 作用就是查看相邻报文的顺序)
常见抓包过滤
1:ip.addr == 122.248.245.191 过滤和这个ip交互的所有相关请求
2:比如ip.dst==122.248.245.191 andip.src==192.168.1.109(192.168.1.109是本机的ip)就可以查看所有从本机发往服务器的报文,如果把两个ip对换一下,就
可以查看所有服务器发给本机的报文
ip.addr == 122.248.245.191 and tcp.srcport==61281(其中61281是本机的对外端口)就是查找所有源ip的端口为61281的报文
src就是source的简写 源
dst就是destination的简写 目的地
1、协议过滤
如过滤http,直接在过滤器中输入http即可。
2、ip过滤
过滤源ip或目的ip。在Wireshark过滤器中输入过滤条件,如查找目的地址为112.4.10.122的包,ip.dst==112.4.10.122;查找源地址为ip.src==10.200.52.66
3、端口过滤
如过滤8090端口,在过滤器中输入tcp.port==8090,这条规则是把源端口和目的端口为8090的都过滤出来。使用tcp.dstport==8090只过滤目的端口为80的包,tcp.srcport==8090只过滤源端口为8090的包。
4、Http模式过滤
如过滤get包,http.request.method==”GET”,过滤post包,http.request.method==”POST”
5、逻辑运算符and/or
过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http
http.host==6san.com
http.host contains 6san.com
//过滤经过指定域名的http数据包,这里的host值不一定是请求中的域名
http.response.code==302
//过滤http响应状态码为302的数据包
http.response==1
//过滤所有的http响应包
http.request==1
//过滤所有的http请求,貌似也可以使用http.request
http.request.method==POST
//wireshark过滤所有请求方式为POST的http请求包,注意POST为大写
http.cookie contains guid
//过滤含有指定cookie的http数据包
http.request.uri==”/online/setpoint”
//过滤请求的uri,取值是域名后的部分
http.request.full_uri==” http://task.browser.360.cn/online/setpoint”
//过滤含域名的整个url则需要使用http.request.full_uri
http.server contains “nginx”
//过滤http头中server字段含有nginx字符的数据包
http.content_type == “text/html”
//过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
http.content_encoding == “gzip”
//过滤content_encoding是gzip的http包
http.transfer_encoding == “chunked”
//根据transfer_encoding过滤
http.content_length == 279
http.content_length_header == “279″
//根据content_length的数值过滤
http.server
//过滤所有含有http头中含有server字段的数据包
http.request.version == “HTTP/1.1″
//过滤HTTP/1.1版本的http包,包括请求和响应
http.response.phrase == “OK”
//过滤http响应中的phrase