Linux抓包流程

Linux使用tcpdump命令抓包保存pcap文件,再使用wireshark分析

tcodump命令详解

简介

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

实用命令实例

默认启动

1
tcpdump

普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

监视指定网络接口的数据包

一般需要在root模式下

1
tcpdump -i eth1

如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。 

监视指定主机的数据包

打印所有进入或离开sundown的数据包.

1
tcpdump host sundown

也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包

1
tcpdump host 210.27.48.1

有太多玩法,不赘述

保存为文件

1
tcpdump -i eth0 -w /home/chaowei/dump.pcap

保存的文件可以使用wireshark打开

wireshark安装与使用

Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具,同时在Linux下也可以使用的一个好用的图形化抓包工具。

下载源码

wireshark-x.x.x.tar.gz wireshark安装源文件
libpcap-x.x.x.tar.gz libpcap安装源文件

[Wireshark 网址] (https://www.wireshark.org/download.html)
libpcap 网址

安装QT5

新版wireshark使用的是QT5编写的UI

1
sudo apt-get install cmake qt5-default qtcreator qttools5-dev-tools

安装libpcap

这步安装的目的是给wireshark提供所需的pcap.h

1
2
3
4
5
tar xvf libpcap-xxx.tar.gz
cd libpcap-xxx
./configure
make
sudo make install

安装wireshark

tar xvf wireshark-xxx.tar.gz
cd wireshark-xxx
./configure
make
sudo make install

./configure过程中出错的话,查看缺少什么文件,缺啥补啥。

使用wireshark打开文件

1
2
cd ~
wireshark dump.pcap

"da"

参考链接:
【1】Linux tcpdump命令使用详解
【2】wireshark分析