Centos6.5下使用tcpdump抓包并用wireshark分析

本文介绍了在Centos6.5上如何使用tcpdump进行抓包,并通过wireshark进行包分析。首先,详细讲述了安装tcpdump和libpcap的过程,接着讲解了tcpdump的过滤规则和基本使用方法,包括如何抓取特定接口和端口的数据包。然后,提到了wireshark的安装及解决启动时遇到的问题,最后讨论了如何将抓包数据保存到文件并在wireshark中打开进行分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在Centos6.5下通过使用tcpdump抓包和wireshark分析包,初步了解抓包和解包


安装

首先我们要安装tcpdump,必须的库:

yum install flex  
yum install bison  
yum install gcc  
  •  

另外tcpdump是基于libpcap,这个在yum找不到,我们到tcpdump的官网(http://www.tcpdump.org/#latest-release)可以下载libpcap和tcpdump 
我这里使用的tcpdump-4.7.3 .tar.gz和libpcap-1.7.2 .tar.gz 。 
首先解压libpcap,然后进入目录配置安装

./configure
make              
make install   

然后解压tcpdump,然后进入目录配置安装

./configure
make              
make install   

一切顺利的话,就可以使用tcpdump进行抓包了。


抓包

tcpdump的过滤规则是使用bpf语法 
(参考http://blog.youkuaiyun.com/jk110333/article/details/8675547) 
我们简单地抓取可以使用(注意要使用root权限启动tcpdump)

tcpdump -i eth0 port 80 -c 3 -t 
  •  

(1) -i eth0 : 只抓经过接口eth0的包 
(1) port 80 : 抓取数据包只抓取80端口的 
(3) -c 3 : 只抓取3个数据包 
(4) -t : 不显示时间戳 
在控制台抓包 
不过这样比较麻烦,输出到控制台对于数据包多的时候显得麻烦,我们把他输出到文件,借助wireshark帮我们分析数据包,首先要安装wireshark,直接通过yum安装。

yum install wireshark(核心,可以用命令tshark)
yum install wireshark-gnome(界面,可以用命令wireshark)

安装后在root权限下通过wireshark命令启动图形界面, 
不过在CentOS 6.5中会出现一个错误wireshark: symbol lookup error: wireshark: undefined symbol: gtk_combo_box_text_new_with_entry 
这个错误是gtk2的一个bug,我们要更新下gtk2:

yum update gtk2

之后就可以正常启动wireshark了,我们这里也可以使用wireshark抓包,这里不做演示,我们主要使用wireshark帮我们分析包,所以首先用tcpdump抓包并且保存到文件。可以在tcpdump命令后加-w指定输出的文件,我们

tcpdump -i eth0 port 80 -c 3 -t -w /home/max/tcpdump.pcap

抓包后我们打开wireshark(root权限),点击File-Open打开刚才的抓包文件 
wireshark分析 
就可以分析包了,这里就不具体分析了。 
过几天写一个抓包器,实现抓包并保存起来通过wireshark来分析。

### 如何使用 `tcpdump` 进行抓包 为了有效地利用 `tcpdump` 和 Wireshark 组合来捕获和分析网络流量,可以遵循以下方法: #### 安装必要的工具 在Linux环境中,确保已安装了 `tcpdump` 工具。如果尚未安装,则可以通过系统的包管理器进行安装。例如,在基于Red Hat的企业版Linux或其衍生版本如CentOS中,可执行如下命令完成安装[^4]: ```bash sudo yum install tcpdump ``` 对于Debian及其派生发行版(如Ubuntu),则应使用apt-get: ```bash sudo apt-get update && sudo apt-get install tcpdump ``` 同样地,也需要准备一台能够运行Wireshark程序的工作站来进行后续的数据包分析工作。 #### 执行抓包操作 假设目标是在特定网卡上监听HTTP请求(`port 80`)并将结果保存至文件以便稍后处理。此时可以在终端输入下列指令启动tcpdump服务并指定参数: ```bash sudo tcpdump -i eth0 'port 80' -w /tmp/http_traffic.pcap ``` 这条命令中的各个部分含义分别为: - `-i eth0`: 表明要监控的是名为eth0的网络接口; - `'port 80'`: 设置过滤条件为仅捕捉TCP端口号等于80的服务通信流; - `-w /tmp/http_traffic.pcap`: 将捕获的结果写入/tmp目录下的http_traffic.pcap文件而不是直接打印到屏幕上; 当不再需要继续记录新的会话时,可通过按下Ctrl+C键终止进程。 #### 转移数据包文件给Wireshark 一旦完成了所需时间段内的数据收集之后,就需要把生成好的`.pcap`格式的日志传输到另一台计算机上的Wireshark应用程序处做进一步解读。这一步骤通常涉及SCP或其他形式的安全拷贝机制将远程主机上的日志下载下来[^5]。 #### 使用Wireshark解析数据包 最后,在本地机器上启动Wireshark客户端应用,并按照菜单指引加载之前传过来的那个PCAP文档。具体来说就是点击顶部栏里的【File】-> 【Open...】, 浏览定位到对应的路径选取该文件名结尾带有".pcap"扩展名的目标对象,双击打开它就可以看到详细的分组信息列表了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值