- Burp Suite
- wireshark
- 安装教程
- 语法
- 过滤ip
- ip.addr eq 192.168.1.107
- 过滤端口
- 来源和目标都筛选
- tcp.port eq 80
- 目标端口
- tcp.dstport == 80
- 来源端口
- tcp.srcport == 80
- 来源和目标都筛选
- 过滤Mac
- 来源和目标都筛选
- eth.addr eq A0:00:00:04:C5:84
- 过滤目标
- eth.dst == A0:00:00:04:C5:84
- 过滤来源
- eth.src eq A0:00:00:04:C5:84
- 来源和目标都筛选
- http模式过滤
- http.request.method == "GET"
- http.request.method == "POST"
- 过滤ip
- Mac 抓包
- 开启mac端蓝牙和手机端蓝牙
- 打开wireshark
- 查看更新的蓝牙设备,点击进入
-
- 查看更新的蓝牙设备,点击进入
- 数据分析
- Frame
- 物理层的数据帧概况。
- -Frame 5: 66 bytes on wire (528 bits), 66 bytes captured(捕获) (528 bits) on interface 0 //5号帧,对方发送66字节,实际收到66字节 -Interface id: 0 (\Device\NPF_{37239901-4A63-419C-9693-97957A8232CD}) //接口id为0 -Encapsulation type: Ethernet (1) //封装类型 -Arrival Time: Jul 5, 2017 15:14:31.865685000 //捕获日期和时间(中国标准时间) -[Time shift for this packet: 0.000000000 seconds]-Epoch Time: 1499238871.865685000 seconds-[Time delta from previous captured frame: 0.006861000 seconds] //与前一包时间间隔 -[Time delta from previous displayed frame: 0.006861000 seconds]-[Time since reference or first frame: 0.613985000 seconds] //#此包与第一帧的时间间隔 -Frame Number: 5 //帧序号 -Frame Length: 66 bytes (528 bits) //帧长度 -Capture Length: 66 bytes (528 bits) //捕获字节长度 -[Frame is marked: False] //是否做了标记 -[Frame is ignored: False] //是否被忽略 -[Protocols in frame: eth:ethertype:ip:tcp] //帧内封装的协议层次结构-[Coloring Rule Name: HTTP] //着色标记的协议名称 -[Coloring Rule String: http || tcp.port == 80 || http2] //着色规则显示的字符串
- 物理层的数据帧概况。
- Ethernet II
- 数据链路层以太网帧头部信息。
- -Ethernet II, Src: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62), Dst: IntelCor_09:65:a5 (58:fb:84:09:65:a5)- Destination: IntelCor_09:65:a5 (58:fb:84:09:65:a5) //目的MAC地址 - Source: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62) //源MAC地址(就是我电脑的MAC地址) - Type: IPv4 (0x0800) //0x0800表示使用IP协议
- 数据链路层以太网帧头部信息。
- Internet Protocol Version 4
- 互联网层IP包头部信息
- Internet Protocol Version 4, Src: 192.168.2.112, Dst: 116.211.185.142 0100 .... = Version: 4 //IPV4协议 .... 0101 = Header Length: 20 bytes (5) //包头长度 -Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) //差分服务字段 -Total Length: 52 //IP包总长度 -Identification: 0x3849 (14409) //标识字段 -Flags: 0x02 (Don't Fragment) //标记字段 -Fragment offset: 0 //分段偏移量 -Time to live: 128 //生存期TTL -Protocol: TCP (6) //此包内封装的上层协议为TCP -Header checksum: 0xd100 [validation disabled] //头部数据的校验和 -[Header checksum status: Unverified] //头部数据校验状态 -Source: 192.168.2.112 //源IP地址 -Destination: 116.211.185.142 //目的IP地址 -[Source GeoIP: Unknown] //基于地理位置的IP -[Destination GeoIP: Unknown]
- 互联网层IP包头部信息
- Transmission Control Protocol
- 传输层的数据段头部信息,此处是TCP协议。
- Transmission Control Protocol, Src Port: 60606, Dst Port: 80, Seq: 0, Len: 0-Source Port: 60606 //源端口号(ecbe) -Destination Port: 80 //目的端口号(0050) -[Stream index: 0] -[TCP Segment Len: 0] -Sequence number: 0 (relative sequence number) //序列号(相对序列号)(四个字节fd 3e dd a2)-Acknowledgment number: 0 //确认号(四个字节00 00 00 00) -Header Length: 32 bytes //头部长度(0x80)- Flags: 0x002 (SYN) //TCP标记字段 -Window size value: 8192 //流量控制的窗口大小(20 00)-[Calculated window size: 8192] -Checksum: 0x97ad [unverified] //数据段的校验和(97 ad) -[Checksum Status: Unverified] -Urgent pointer: 0 //紧急指针(00 00) -Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted //选项(可变长度
- 传输层的数据段头部信息,此处是TCP协议。
- User Datagram Protocol
- UDP协议
- User Datagram Protocol, Src Port: 7273, Dst Port: 15030-Source Port: 7273 //源端口(1c 69) -Destination Port: 15030 //目的端口(3a 6b) -Length: 1410 //长度(05 82) -Checksum: 0xd729 [unverified] //校验和(d7 29) -[Checksum Status: Unverified]-[Stream index: 6335]
- UDP协议
- Hypertext Transfer Protocol
- 应用层的信息,此处是HTTP协议
- Frame
- 应用场景
- 网络管理员会使用wireshark来检查网络问题
- 软件测试工程师使用wireshark抓包,来分析自己测试的软件,测试网络性能
- 从事socket编程的工程师会用wireshark来调试
- 图形化组件
- IO Graphs
- Time/Sequence Graph
- 横坐标代表了时间偏移量,纵坐标代表着tcp数据包中的seq值得变化
- 分析断开链接原因
-
- 分析网络延迟
- 1、网络线路本身有延迟
- 2、客户端存在延迟
- 3、服务器端存在延迟
- tcpdump
- socket抓包工具
- 服务端抓包
- mac使用必须用root授权
- sudo tcpdump
- 规则 tcpdump option dir typt
- option可选参数
- proto类过滤器
- tcp
- ump
- imp
- ip
- ip6
- arp
- type类过滤器
- host
- net
- port
- direction类过滤器
- src
- dsr
- 分析
- 14:39:00.738343 IP 10.13.12.49.56320 > 203.119.129.64.https: Flags [.], ack 3823168929, win 65535, length 0
- 第一列:时分秒毫秒
- 14:39:00.738343
- 第二列:网络协议
- IP
- 第三列:发送方的ip地址+端口号
- 10.13.12.49.56320
- 第四列:箭头 >, 表示数据流向
- 接收方的ip地址+端口号
- 203.119.129.64.https
- 第六列:冒号
- 第七列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1,更多标识符见下面
- Flags [.], ack 3823168929, win 65535, length 0
- 第一列:时分秒毫秒
- 14:39:00.738343 IP 10.13.12.49.56320 > 203.119.129.64.https: Flags [.], ack 3823168929, win 65535, length 0
- 过滤规则
- 主机过滤
- tcpdump host 192.168.10.100
- 源、目标
- tcpdump -i eth2 src 192.168.10.100
- tcpdump -i eth2 dst 192.168.10.200
- 网络过滤
- tcpdump net 192.168.10.0/24
- 端口过滤
- 单端口
- sudo tcpdump tcp port 80
- 双端口
- tcpdump port 80 or port 8088
- 单端口
- 协议名
- tcpdump tcp port http
- tcpdump tcp port https
- tcpdump icmp
- ip版本
- tcpdump 'ip proto tcp'
- tcpdump 'ip6 proto tcp'
- 主机过滤
- 过滤结果输出到文件
- 写文件
- tcpdump icmp -w icmp.pcap
- 写文件
- 文件包读数据
- 读文件
- tcpdump icmp -r all.pcap
- 读文件
- mac使用必须用root授权
- 手机端抓包
- beanshell脚本
-
- #!/bin/bash
- savepath=$(cd `dirname $0`; pwd)
- function pause(){
- read -n 1 -p "$*" INP
- if [ [$INP != ''] ] ; then
- echo -ne '\b \n'
- fi
- }
- adb wait-for-device
- echo '连接设备'
- result=`adb devices`
- ipAddr=${result#*attached}
- ipAddr=${ipAddr%%device*}
- ipAddr=${ipAddr:1:19}
- echo '设备名称:'$ipAddr
- DATE="`date +%Y%m%d%H%M%S`"
- echo $DATe
- source_path=/sdcard/
- out_path=$source_path$DATE
- echo $out_path
- echo $DATE
- echo "按下任意键停止抓包"
- adb shell /data/local/tcpdump -i any -vv -s 0 -w $out_path.pcap
- pause '按下任意键保存文件'
- adb pull $out_path.pcap $savepath
- echo "save cap_$DATE.pcap to $savepath success!"
-
- 将脚本工具tcpdump放到手机中
- adb push /Users/xm210407/Desktop/tcpdump /data/local
- 更改权限
- adb shell
- cd data/local/
- chmod 777 tcpdump
- 执行抓包
- ./tcpdump -i any -p -vv -s 0 -w capture.pcap
- 停止抓包
- ctrl+c
- beanshell脚本
计算机基础第二篇—安全类抓包教程
于 2022-09-14 18:54:37 首次发布