您的位置:首页 > 理论基础 > 计算机网络

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

2015-04-25 14:25 781 查看

前言

原创文章欢迎转载,请保留出处。
若有任何疑问建议,欢迎回复。
邮箱:Maxwell_nc@163.com


在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.csdn.net/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来分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: