ETH抓包的简单介绍
1、pcapng报文头的深入剖析 pcapng是一种强大的抓包报文格式,由一系列数据块构成,包括节标题接口描述增强型和简化数据包块,以及名称解析和接口统计节标题块至关重要,它标识文件类型,由固定的4字节块类型和长度定义每个块类型定义了其特有的内容,如增强型数据包块类型0x00000006存储接口标识;如果忘记了这个软件的用法,我们可以使用 tcpdump help 来查看一下使用方法 一般我们的服务器里边只有一个网卡,使用tcpdump可以直接抓取数据包,但是这样查看太麻烦了,所以都会添加参数来进行获取的 例如我截取本机47和主机14之间的数据 tcpdump n i eth0 host;能抓包启明星辰防火墙是通过Sniffer功能实现抓包,可以在命令下或者WEB页面下进行报文捕获启明星辰防火墙抓包过程详解防火墙eth1口收到发给的request数据包,接着从eth2口这个request数据包转发出去,然后防火墙eth2口收到发给的reply数据包,防火墙再从eth1;用tcpdump 抓下来的包保存为文件,可以用WireShark 打开把 tcpdump抓下来的包保存为文件,用w参数比如tcpdump i eth0 w filename 2,tcpdump抓包的时候,会对数据包进行截取,默认只保存96个字节,例如以下root@TJACASP1 ~# tcpdump host 41 w sms;参数解析tcp ip icmp arp rarp 和 tcpudpicmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型i eth1 只抓经过接口eth1的包 t 不显示时间戳 s 0 抓取数据包时默认抓取长度为68字节加上S 0 后可以抓到完整的数据包 c 100 只抓取100个数据包 dst;假定你的主机A的IP地址是A1,并且用eth0 接口跟B通信,主机B的ip 地址是B1,并且用eth1跟A通信,你可以在A上用tcpdump抓包如下tcpdump i eth0 src A1 or src B1 s 1500 w vartmpmypacketpcap。
2、linux系统下抓包命令是tcpdump1tcpdump命令简介是一个运行在命令行下的抓包工具它允许用户拦截和显示发送或收到过网络连接到该计算机的TCPIP和其他数据包tcpdump 适用于大多数的类Unix系统操作系统如linux,BSD等类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 windows下的Win;linux下有命令可直接执行抓包的,命令如下1tcpdump vv i ethN w rootabccap host ip 2上述命令中,ethN,是你要抓的本机网卡,一般是eth0,可使用ifconfig查看使用的哪个网卡 s 指定的是抓包数量 w指定的是抓到的包写到哪个位置 host ip即为抓取哪个ip 的包 查;在CentOS中定位丢包可以按如下方法1首先,在CentOS中使用ifconfig命令查看网络接口状态,确认是否存在网络接口丢包的情况2其次,使用ethtool命令查看网络接口的统计信息,包括接收和发送的数据包数量错误包数量3然后,使用tcpdump命令抓包,查看网络数据包的流向和内容,以确定是否存在丢包的情况。
3、使用抓包工具如Wireshark1打开Wireshark软件,选择要捕获的网络适配器并开始捕获数据包2在过滤器栏中输入ethsrc==MAC地址,其中MAC地址是你要过滤的源MAC地址,如本机的MAC地址3点击应用按钮,Wireshark将只显示源MAC地址为所设定的MAC地址的网络数据包;如果想看实际网卡上是否有丢包,可以通过 ethtool S eno2grep error ,想看下重传率,可以通过 netstat s 查看奇怪的是,同样的包回放,如果不处理,只收包就不丢包,这样上面的原因就说不过去了,继续排查因为程序有大量写文件操作,所以看看是不是磁盘的IO满了造成的丢包磁盘IO并未达到。
4、1tcpdump 默认启动普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包2tcpdump i eth1监视指定网络接口的数据包,如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口3tcpdump host sundown监视指定主机的数据包打印;我在从eth0捕获100个数据包的时候,并将数据写入到capturecap文件中,命令格式为tcpdump i eth0 w capturecap v vv c 100 X e 抓取一个一个ip段之间的数据包tcpdump –s 0 –w socket host and host 4 如果从eth0且通信协议端口为22,目标IP为192;linux上有两种比较好的抓包工具ethereal和tcpdump 对于ethereal,有图形界面和字符界面两种方式到linux系统上执行rpm qa grep etherealgnome可查看是否安装了图形版本 但是如果服务器上没有xwin图形环境,那么就只能用字符界面了 命令tethereal 可选参数Vf 如果只执行tethereal,那么将只;包大小不会超过1500字节,净荷不会超过1460字节这个功能类似于TCP Checksum offloading功能,思路都是由网卡来分担CPU的一些工作,可以降低CPU的占用率如果抓包要看到小与1500的报文,可以关闭网卡TCO功能,关闭后会使CPU占用率升高ethtool k eth0 ethtool K eth0 tso off。
评论