centos7 抓包(ubuntu抓包命令)

其实centos7 抓包的问题并不复杂,但是又很多的朋友都不太了解ubuntu抓包命令,因此呢,今天小编就来为大家分享centos7 抓包的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

centos 双网卡绑定 mode哪种好些

CentOS双网卡绑定的模式一共有7种(即mode=0、1、2、3、4、5、6):

0(balance-rr模式)网卡的负载均衡模式。特点:(1)所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping一个相同地址:1.1.1.1双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式,进行轮询发送。(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。

1(active-backup模式)网卡的容错模式。特点:一个端口处于主状态,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。

2(balance-xor模式)需要交换机支持。特点:该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器(比如“网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。

3(broadcast模式)。特点:这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。

4(IEEE 802.3ad动态链路聚合模式)需要交换机支持。特点:802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。802.3ad也有些缺点:标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。此外,linux bonding的802.3ad实现通过对端来分发流量(通过MAC地址的XOR值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad实现里的均衡策略。在“本地”型配置下,路两将通过 bond里的设备进行分发。

5自适应传输负载均衡模式。特点:balance-tlb模式通过对端均衡外出(outgoing)流量。既然它是根据MAC地址进行均衡,在“网关”型配置(如上文所述)下,该模式会通过单个设备来发送所有流量,然而,在“本地”型网络配置下,该模式以相对智能的方式(不是balance-xor或802.3ad模式里提及的XOR方式)来均衡多个本地网络对端,因此那些数字不幸的MAC地址(比如XOR得到同样值)不会聚集到同一个接口上。

不像802.3ad,该模式的接口可以有不同的速率,而且不需要特别的交换机配置。不利的一面在于,该模式下所有进入的(incoming)流量会到达同一个接口;该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。

6网卡虚拟化方式。特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。所有端口都会收到对端的arp请求报文,回复arp回时,bond驱动模块会截获所发的arp回复报文,根据算法算到相应端口,这时会把arp回复报文的源mac,send源mac都改成相应端口mac。从抓包情况分析回复报文是第一个从端口1发,第二个从端口2发。以此类推。

具体选择哪种要根据自己需要和交换机情况定,一般Mode=0和Mode=1比较常见;Mode=6负载均衡方式,两块网卡都工作,不需要交换机支持,也常用

tcpdump使用pcap-filter抓Vxlan包内数据

通过tcpdump的高级用法(pcap-filter),在Vxlan协议下抓取包内数据成为可能。此方法在生产环境中广泛使用,特别是当需要精细筛选和捕捉特定数据包时。具体实现与操作步骤如下:

一、背景与参考信息

1. [tcpdump在生产中的常见用法与复杂过滤规则](【博客562】tcpdump在生产中的常见用法与复杂过滤规则_tcpdump过滤取值范围-CSDN博客)

2. [在vxlan网络中使用tcpdump精确过滤抓包](在vxlan网络中使用tcpdump精确过滤抓包-腾讯云开发者社区-腾讯云)

3. [IP头部详解]( Sky:IP头部详解)

4. [IP到十六进制转换器](在线IP转十六进制|IP到十六进制转换)

5. [tcpdump与BPF expression]( koname:tcpdump与BPF expression)

二、概念与环境

- man tcpdump

- man pcap-filter

环境包括使用Docker自定义overlay网络(ol_network)与vxlan id=4098的网络配置。具体节点信息如下:

*节点1:宿主机centos7-10,网卡enp0s5,IP 10.211.55.10;运行容器IP 172.16.0.28;

*节点2:宿主机centos7-18,网卡enp0s5,IP 10.211.55.18;运行容器IP 172.16.0.42;

*节点3:宿主机centos7-22,网卡enp0s5,IP 10.211.55.22;运行容器IP 172.16.0.43.

网络段为172.16.0.0/16,容器IP为172.16.0.28/16、172.16.0.43/16,VXLAN id为4098。

三、用法与解析

1.抓取Vxlan通讯中的icmp包

-查看宿主机centos7-10网卡enp0s5信息

*容器网卡为eth1,IP为172.16.0.28

*经过Vxlan封装后,通过宿主机的enp0s5进行网络通讯

- tcpdump'udp[39]=1'-nv-i enp0s5命令解析

*抓取到的包显示外层是10.211.55.10与10.211.55.22之间的通讯,VNI为4098;内层则显示172.16.0.28与172.16.0.43之间的ICMP echo请求与应答。

2. tcpdump抓包命令解析

tcpdump命令使用pcap-filter进行筛选过滤。

*proto与expr确定过滤规则,size确定过滤长度。

* tcpdump抓包命令示例:-n,-v,-i enp0s5,'udp[39]=1'。

'udp[39]=1'命令解析:从UDP header起始位置0偏移40字节,获取对应位置的值=1,即ICMP协议。

3. Vxlan协议报文解析

Vxlan报文在原始报文前进行封装,偏移量40字节包括:OUT UDP header(8字节)+VXLAN header(8字节)+Inner Ethernet header(14字节)+Inner IP header中Protocol位置(10字节)。

Inner IP header中,Protocol位置在启始位置0偏移10字节。

四、其他抓包例子

1.抓取Vxlan网络通讯中的ICMP包

*使用条件:udp[39]=1,udp[42:4]=0xac10001c(172.16.0.28)或udp[42:4]=0xac10002b(172.16.0.43)。

2.抓取访问宿主机centos7-10(10.211.55.10)的ssh服务包

*使用条件:ip[9]=6,ip[16:4]=0x0ad3370a(10.211.55.10),port 22(ssh)。

玩转tcpdump解决Centos7环境抓包难题

网络数据采集分析工具 Tcpdump

借助 host参数筛选特定主机

1. Tcpdump选项详解

基于IP地址过滤:通过 host参数指定特定IP进行筛选

-根据源IP筛选

-根据目标IP筛选

基于网段过滤:net参数用于指定特定网段

对于同一网段,可细分为源网段和目标网段

基于端口过滤:port参数用于指定特定端口筛选

端口可再细分为源端口与目标端口

同时指定多个端口或端口段简化筛选

使用协议名代替端口号筛选特定协议

如 http对应 80,https对应 443

基于协议过滤:proto参数用于筛选常见协议,如 tcp、udp、icmp等

查看 ICMP包时,直接使用 icmp

protocol参数值包括:ip、ip6、arp、rarp等

输出抓取数据至文件:使用-w参数生成 pcap文件

结合 wireshark分析数据

读取 pcap文件使用-r参数

过滤与分析结合使用

提取 HTTP用户代理:从请求头筛选

提取用户代理与主机名:使用 egrep同时筛选

找出发包最多的IP:统计分析筛选

抓取 DNS请求与响应:通过端口筛选

切割 pcap文件:自动管理大文件

按小时创建新文件:避免数据过大覆盖旧文件

阅读剩余
THE END