博客
关于我
Linux抓包工具
阅读量:734 次
发布时间:2019-03-21

本文共 1746 字,大约阅读时间需要 5 分钟。

网络抓包工具之.tcpdump与Wireshark

在网络 diagnosing 和故障排除中,抓包工具是非常有用的工具。tcpdump 和 Wireshark 是两款常用的抓包工具,各具特色,适用于不同的场景。

tcpdump

tcpdump 是一款强大的网络抓包工具,常用于抓取网络流量数据。它支持多种选项,用户可以根据需求进行灵活配置。

常用选项说明

tcpdump 提供了丰富的选项,用户可以通过这些选项来定制抓包行为:

  • -c:表示在接收到指定数量的分组后,tcpdump 会自动停止抓包。
  • -C:在将文件写入之前,检查文件大小是否超过指定的 size。如果超过,会关闭当前文件并新建一个新的文件。
  • -D:显示系统中所有可以用 tcpdump 拉取的网络接口。
  • -e:打印数据链路层的头信息。
  • -E:用于解密 IPsec ESP 分组,具体参数为 spi@ipaddr algo:secret。
  • -f:以数字形式打印外部 IP 地址。
  • -F:从指定文件中读取表达式,忽略命令行中的表达式。
  • -i:指定监听的网络接口。
  • -l:将标准输出缓冲为行输出,适合导出到文件。
  • -L:列出网络接口的已知数据链路。
  • -m:导入 SMI MIB 模块定义文件。
  • -M:处理 TCP-MD5 选项,验证摘要。
  • -b:在.data链路层选择协议,包括 IP、arp、rarp、IPX 等。
  • -n:不转换网络地址为 hostname。
  • -nn:不转换端口号为名称。
  • -N:不输出主机名的域名部分。
  • -t:不输出时间戳。
  • -O:禁用分组匹配代码优化。
  • -P:不设置网络接口为混杂模式。
  • -q:快速输出,仅显示少量协议信息。
  • -r:从指定文件中读取包(通常由 -w 选项生成)。
  • -S:以绝对值形式输出 TCP 序列号。
  • -s:从每个分组中读取指定数量的字节。
  • -T:指定报文类型,常见于 RPC 和 SNMP。
  • -u:输出未解码的 NFS句柄。
  • -v:输出详细信息,例如 TTL 和 服务类型。
  • -vv:输出更详细的报文信息。
  • -w:直接将分组写入文件,避免分析和打印。

###ैठiểm josephclipboard

常用的 tcpdump 命令示例:

[root@localhost ~]# tcpdump -D

这将显示系统中所有可以用 tcpdump 拉取的网络接口。例如:

[root@localhost ~]# tcpdump -vv -i ens33 -s 0 -w 1.pcap

这个命令会以详细的形式抓取经过 ens33 接口的流量,并将结果保存到 1.pcap文件中。运行后,会显示类似以下信息:

tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes^C144 packets captured147 packets received by filter0 packets dropped by kernel

如果需要抓取特定主机的流量,可以使用:

[root@localhost ~]# tcpdump -i any host 192.168.213.1

此时,tcpdump 会只抓取来自 192.168.213.1 的报文。


Wireshark

Wireshark 是 tcpdump 的图形化版本,用户友好,适合定位网络问题。

安装步骤

在 CentOS 系统中安装 Wireshark:

[root@localhost ~]# yum -y install wireshark*

安装完成后,Wireshark 提供了直观的图形界面,和 Windows 系统类似的使用方式。

使用场景

Wireshark 允许用户可视化地分析网络流量,支持时序分析和抓包解析。它支持多种协议的解析,包括 TCP、UDP、HTTP、HTTPS、DNS 等。


通过 tcpdump 和 Wireshark,用户可以根据需求选择适合的工具,进行网络流量的捕获和分析。选择 tcpdump 时,需熟悉命令行操作;选择 Wireshark 时,则可以借助图形界面直观地查看加密流量等信息。

转载地址:http://uzlgz.baihongyu.com/

你可能感兴趣的文章
Python中*args和**kwargs的使用
查看>>
python中0、1、True、False、if条件
查看>>
python中argparse模块关于 parse_args() 函数详解(全)
查看>>
python中base64编码与解码
查看>>
python中break怎么用_详解Python中break语句的用法
查看>>
python中del函数的垃圾回收
查看>>
Python中DrissionPage的详细解析与实战
查看>>
python中enumerate、变量类型转换
查看>>
python中execute是啥_python – 为什么“c.execute(…)”打破循环?
查看>>
python中exit和break区别_Python中exit()和sys.exit()之间的区别
查看>>
python中h5的用法
查看>>
python中http协议编程_HTTP编程
查看>>
python中import os_Python:相对导入与绝对导入(import)、os.path、__file__
查看>>
python中is和==操作符
查看>>
Python中range对象的使用以及打印九九乘法表
查看>>
Python中set.discard和set.remove方法之间的运行时差异?
查看>>
python中tkinter中value_输入字段中的python Tkinter get()值
查看>>
Python中wx.FlexGridSizer
查看>>
Python中xPath技术和BeautifulSoup的使用
查看>>
python中yield的用法详解——最简单,最清晰的解释
查看>>