首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用tcpdump抓取数据包,初步分析MySQL 通信协议

看了就要关注我,喵呜~ 今天准备写一篇tcpdump抓包分析方面相关的问题,之所以写这篇文章,主要有两个原因: 1、面试中经常会被问到如下相关的问题 Q:为什么要用数据库连接池?...可以进入隧道,但是隧道加了头之后会超过1500 ;如果分片IPSEC头就会破坏,所以通过IPSEC strongswan的 解决方案 减少TCP MSS问题得到解决) 问题场景 通过抓取的数据包分析,云数据库连续重传后...---- 好,出于上述的两个原因,所以下面我们通过转包简单的分析一下mysql通信协议; 抓包分析 客户端A: [root@VM_54_118_centos ~]# tcpdump -i eth0 -s0...host 10.66.161.135 -w /tmp/cvm_conn_cdb.pcap tcpdump: listening on eth0, link-type EN10MB (Ethernet)...: 下面是输入正确的密码连接成功后,分析一下相关的数据包 先看12,13,14三行,TCP的三次握手,没什么可说的。

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在vxlan网络中使用tcpdump精确过滤抓包

    在一般云网络运维场景下,外层报文的三层头都是物理机(宿主机)的 ip 地址,虚拟机实际通信的源/目的 ip 地址都是被封装到了内层报文中,这样在使用 tcpdump 进行抓包诊断的时候,如果使用外层报文...于是我们需要以内层报文的字段数据作为过滤条件进行精确抓包。参考 pcap-filter 的手册文档,可以使用 proto [ expr : size ] 的方式来表示数据包中的数据。...报文的 vxlan 报文可使用如下命令进行过滤抓包:tcpdump 'udp[39]=1' -nv -i bond1其中数字 39 由 8(sizeof udp) + 8(sizeof vxlan)...同理,对于内层报文源 ip 地址为 172.10.5.33 的报文可使用如下命令进行过滤抓包:tcpdump 'udp[42:4]=0xac0a0521' -nv -i bond1这里需要将 ip 地址转换为四字节十六进制数...对于内层报文源或者目的 ip 地址为 172.10.5.33 的报文可使用如下命令进行过滤抓包:tcpdump 'udp[42:4]=0xac0a0521' or 'udp[46:4]=0xac0a0521

    1.3K30

    在vxlan网络中使用tcpdump精确过滤抓包

    在一般云网络运维场景下,外层报文的三层头都是物理机(宿主机)的 ip 地址,虚拟机实际通信的源/目的 ip 地址都是被封装到了内层报文中,这样在使用 tcpdump 进行抓包诊断的时候,如果使用外层报文...于是我们需要以内层报文的字段数据作为过滤条件进行精确抓包。 参考 pcap-filter 的手册文档,可以使用 proto [ expr : size ] 的方式来表示数据包中的数据。...报文的 vxlan 报文可使用如下命令进行过滤抓包: tcpdump 'udp[39]=1' -nv -i bond1 其中数字 39 由 8(sizeof udp) + 8(sizeof vxlan...同理,对于内层报文源 ip 地址为 172.10.5.33 的报文可使用如下命令进行过滤抓包: tcpdump 'udp[42:4]=0xac0a0521' -nv -i bond1 这里需要将 ip...对于内层报文源或者目的 ip 地址为 172.10.5.33 的报文可使用如下命令进行过滤抓包: tcpdump 'udp[42:4]=0xac0a0521' or 'udp[46:4]=0xac0a0521

    91030

    IPv6数据包的分片和重组

    2、IPv6和IPv4分片的差异化 2.1、中间节点的处理方式不同 首先IPv6和IPv4不同的是IPv6只允许在源节点分片和目的节点重组,中间节点路由器只做转发,不再对IPv6数据包重组或再次分片,当收到的分片数据包依然大于...2.3、分片包长度计算不同 IPv4中分片之后依然使用IPv4中的Total Length,并且Total Length包含了IPv4的包头长和数据净长度。...IPv6中分片之后依然使用Payload Length这个字段,但是此字段不包括IPv6的包头长,但是却包括扩展包头Fragment Header的长度和数据净长度,下边就来聊聊Fragment Header...然后个人根据观察和总结可以使用如下公式: PL.orig = 8 * FO.last+ (PL.last-8) PL.last = 最后一个分片包的Payload Length。...5、一例解千愁 5.1、IPv6数据包分片 例如有一个定义了IPv6的节点需要发送Payload Length=1764的数据给另一个IPv6的终节点,要经过一个使用默认MTU=1500的路由器: 由于

    1.8K20

    Linux tcpdump命令详解

    AppleTalk DDP 数据包被封装在UDP数据包中, 其解封装(nt: 相当于解码)和相应信息的转储也遵循DDP 包规则....-F file 使用file 文件作为过滤条件表达式的输入, 此时命令行上的输入将被忽略. -i interface 指定tcpdump 需要监听的接口....在VLAN网络体系中过滤数据包时, vlan [vlan_id]表达式可以被多次使用. 关键字vlan每出现一次都会增加 4字节过滤偏移(nt: 过滤偏移, 可理解为上面的解码偏移)....例如: vlan 100 && vlan 200 表示: 过滤封装在VLAN100中的VLAN200网络上的数据包 再例如: vlan && vlan 300 && ip 表示: 过滤封装在VLAN300...在MPLS网络体系中过滤数据包时, mpls [label_num]表达式可以被多次使用. 关键字mpls每出现一次都会增加 4字节过滤偏移(nt: 过滤偏移, 可理解为上面的解码偏移).

    2.9K10

    通信|IPv6数据包的分片和重组

    2、IPv6和IPv4分片的差异化 2.1、中间节点的处理方式不同 首先IPv6和IPv4不同的是IPv6只允许在源节点分片和目的节点重组,中间节点路由器只做转发,不再对IPv6数据包重组或再次分片,当收到的分片数据包依然大于...2.3、分片包长度计算不同 IPv4中分片之后依然使用IPv4中的Total Length,并且Total Length包含了IPv4的包头长和数据净长度。...IPv6中分片之后依然使用Payload Length这个字段,但是此字段不包括IPv6的包头长,但是却包括扩展包头Fragment Header的长度和数据净长度,下边就来聊聊Fragment Header...然后个人根据观察和总结可以使用如下公式: PL.orig = 8 * FO.last+ (PL.last-8) PL.last = 最后一个分片包的Payload Length。...5、一例解千愁 5.1、IPv6数据包分片 例如有一个定义了IPv6的节点需要发送Payload Length=1764的数据给另一个IPv6的终节点,要经过一个使用默认MTU=1500的路由器: 由于

    4.1K41

    Linux tcpdump命令详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。...tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。  ...= 0 表示: 整个ip数据包的长度减去ip头的长度,再减去 tcp头的长度不为0, 这就意味着, ip数据包中确实是有数据.对于ipv6版本只需考虑ipv6头中的'Payload Length' 与...tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。...当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

    90620

    tcpdump抓包命令怎么用_linux系统抓包工具

    1. tcpdump 核心参数图解 大家都知道,网络上的流量、数据包,非常的多,因此要想抓到我们所需要的数据包,就需要我们定义一个精准的过滤器,把这些目标数据包,从巨大的数据包网络中抓取出来。...而在 tcpdump 的世界里,过滤器的实现,都是通过一个又一个的参数组合起来,一个参数不够精准,那就再加一个,直到我们能过滤掉无用的数据包,只留下我们感兴趣的数据包。...常规过滤规则 3.1 基于IP地址过滤:host 使用 host 就可以指定 host ip 进行过滤 $ tcpdump host 192.168.10.100 数据包的 ip 可以再细分为源ip和目标...tcpdump 支持我们根据数据包的标志位进行过滤 proto [ expr:size ] proto:可以是熟知的协议之一(如ip,arp,tcp,udp,icmp,ipv6) expr:可以是数值...ether src [ehost] 5.4 过滤通过指定网关的数据包 $ tcpdump gateway [host] 5.5 过滤广播/多播数据包 $ tcpdump ether broadcast

    3.8K30

    linux抓包和分析工具_linux tcpdump 抓包

    tcpdump ip host ace and not helios 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令: tcpdump...-i eth0 dst host hostname 监视指定主机和端口的数据包 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令 tcpdump tcp port...(nt: 此句翻译曲折,需补充).localnet 实际使用时要真正替换成本地网络的名字) tcpdump ip and not net localnet 监视指定协议的数据包...(ipv6的版本的表达式可做练习) tcpdump ‘tcp port 80 and (((ip[2:2] – ((ip[0]&0xf)>2)) !...= 0 表示: 整个ip数据包的长度减去ip头的长度,再减去 tcp头的长度不为0, 这就意味着, ip数据包中确实是有数据.对于ipv6版本只需考虑ipv6头中的’Payload Length’

    4.6K10

    每日一博 - tcpdump小技巧

    通过上图我们可以发现当数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump 工具进行后续的处理工作,输出或保存到 pcap 文件。...数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至 tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。...~]# tcpdump -ni eth0 arp 使用十六进制输出,当你想检查数据包内容是否有问题时,十六进制输出会很有帮助。...只抓取 eth0 网卡上 IPv6 的流量 [root@VM-0-7-centos ~]# tcpdump -ni eth0 ip6 抓取指定端口范围的流量 [root@VM-0-7-centos...-ni eth0 length == 64 过滤 TCP 特殊标记的数据包 抓取某主机发送的 RST 数据包: $ tcpdump -ni eth0 src host 192.168.1.100 and

    70610

    tcpdump: 我来帮你过滤和分析系统中的网络数据

    但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量, :从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。...-r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。...-nn -i eth0 tcp dst port 22 常用案例 基于IP查找流量 tcpdump host 1.1.1.1 只显示ipv6的流量 tcpdump ip6 查一个端口段的流量...tcpdump portrange 21-23 基于包的大小查询 如果你正在查看特定大小的包,你可以使用这个参数。...使用less、greater或者对应的数学符号 tcpdump less 32 tcpdump greater 64 tcpdump <= 128 原始数据输出 使用组合参数查看详细输出,不要解决主机名或者端口号

    1.6K20

    Linux 网络分析必备技能:tcpdump 实战详解

    通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump 工具进行后续的处理工作,输出或保存到 pcap 文件。...数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至 tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。...只抓取 eth0 网卡上 IPv6 的流量 $ tcpdump -ni eth0 ip6 13....过滤 TCP 特殊标记的数据包 抓取某主机发送的 RST 数据包: $ tcpdump -ni eth0 src host 192.168.1.100 and 'tcp[tcpflags] & (tcp-rst...抓包时,尽可能指定详细的数据包过滤表达式,减少无用数据包的拷贝。 7. 抓包时,尽量指定 -n 选项,减少解析主机和端口带来的性能开销。

    1.6K30

    Linux 网络分析必备技能:tcpdump 实战详解

    通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump 工具进行后续的处理工作,输出或保存到 pcap 文件。...数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至 tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。...只抓取 eth0 网卡上 IPv6 的流量 $ tcpdump -ni eth0 ip6 13....过滤 TCP 特殊标记的数据包 抓取某主机发送的 RST 数据包: $ tcpdump -ni eth0 src host 192.168.1.100 and 'tcp[tcpflags] & (tcp-rst...抓包时,尽可能指定详细的数据包过滤表达式,减少无用数据包的拷贝。 7. 抓包时,尽量指定 -n 选项,减少解析主机和端口带来的性能开销。

    1.2K30

    超详细的网络抓包神器 Tcpdump 使用指南

    tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。...这些选择数据包的语句就是过滤器(filter)! Host 过滤器 Host 过滤器用来过滤某个主机的数据报文。...如果想只抓取从该主机发出的流量,可以使用下面的命令: $ tcpdump src host 1.2.3.4 Network 过滤器 Network 过滤器用来过滤某个网段的数据,使用的是 CIDR[2...ICMP 数据包 通过排除 echo 和 reply 类型的数据包使抓取到的数据包不包括标准的 ping 包: $ tcpdump 'icmp[icmptype] !...抓取 IPv6 流量 可以通过过滤器 ip6 来抓取 IPv6 流量,同时可以指定协议如 TCP: $ tcpdump -nn ip6 proto 6 从之前保存的文件中读取 IPv6 UDP 数据报文

    21.6K45

    超详细抓包神器之tcpdump

    简介 tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。...这些选择数据包的语句就是过滤器(filter)! Host过滤器 Host 过滤器用来过滤某个主机的数据报文。...如果想只抓取从该主机发出的流量,可以使用下面的命令: tcpdump src host 1.2.3.4 network过滤器 Network 过滤器用来过滤某个网段的数据,使用的是 CIDR 模式。...数据包 通过排除 echo 和 reply 类型的数据包使抓取到的数据包不包括标准的 ping 包: $ tcpdump 'icmp[icmptype] !...-G 3600 -C 200 这些文件的命名为 capture-{1-24}.pcap,24 小时之后,之前的文件就会被覆盖 抓取ipv6流量 可以通过过滤器 ip6 来抓取 IPv6 流量,同时可以指定协议如

    4K41
    领券