tcpdump使用指南

简介: 原作者:阿里云解决方案架构师,韩虎。本文针对tcpdump工具,回答如下问题: tcpdump是怎样抓包的? tcpdump如何使用? 我们自己是否可以做扩展?

原理

0c894041ba94b270f2aa5176bca44357f2f18850

网卡工作模式

单播模式(Unicast)

多播模式(Multicast)

广播模式(Broadcast)

混杂模式(Promiscuous)

Tips:在混杂模式下的网卡能够接收一切通过的数据,而不管该数据目的地址是否是它。

查看网卡工作模式
9ceb1efc0cf2b0411138893dfdbbf1205ed74429

抓包

tcpdump常用参数说明
-i any : 监听所有网卡
-i eth0 : 监听eth0网卡
-D : 显示所有网卡
-n : 禁止解析主机名
-nn : 禁止解析主机名和端口号
-X : 将包的内容按十六进制和ASCII格式显示
-XX : 跟-X选项类型,并额外显示以太协议头
-v,-vv,-vvv : 递增显示包的信息
-c : 最多抓n个包
-s : 定义抓包的大小,-s0抓取全部
-S : 打印绝对的tcp序号
4634537963f86a40589263450446325f71965995
sudo tcpdump –iany –nnvvXS –s1514 –c10
22e42697f5a5912a176faf05eac2477e0b4ce397
sudo tcpdump -iany src host 192.168.150.1 and dst port 80 -nnvvXS -s1514 -c10
sudo tcpdump -iany dst host 192.168.150.1 and src port 80 -nnvvXS -s1514 -c10
sudo tcpdump -iany host 192.168.150.1 and port 80 -nnvvXS -s1514 -c10
c6713e4df8e560584908a3e2ac445f5cfbf0148f
sudo tcpdump -iany port 80 -nnvvXS -s1514 -w test.cap
e0661e5f5f70e82e0caed33114f4fae0b58ecf6b

动手写抓包工具

使用libpcap开源库

1f76fb383d1d4e6ddee746662a1adea91a484696

简单的抓包程序

int main ()  {


int i = 0, count = 0;

pcap_t *descr = NULL;

char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;

memset(errbuf, 0, PCAP_ERRBUF_SIZE);


/* Get the name of the first device suitable for capture */

device = pcap_lookupdev(errbuf);


printf(“Opening device %s\n”, device);


/* Open device in promiscuous mode */

descr = pcap_open_live(device, MAXBYTES2CAPTURE, 1, 512, errbuf);


/* Loop forever & call processPacket() for every received packet */

pcap_loop(descr, -1, processPacket, (u_char *)&count);


return 0;

}

参考资料

http://www.tcpdump.org/
https://www.wireshark.org/
目录
相关文章
|
应用服务中间件 nginx
wireshark抓包入门使用教程
wireshark抓包入门使用教程
755 0
wireshark抓包入门使用教程
|
2月前
|
安全 网络协议 测试技术
安全测试工具之nmap使用指南
【2月更文挑战第7天】安全测试工具之nmap使用指南
43 3
安全测试工具之nmap使用指南
|
3月前
|
Linux
Linux下使用Wireshark抓包教程
在实际开发中,涉及网络传输的环节是非常多的。在这些过程中,我们经常有查看被传输的数据信息的需求,因此,抓包工具应运而生。Wireshark便是一款非常有名的抓包及分析软件,具有强大的协议解析能力。本文将介绍如何在Linux系统中安装Wireshark抓包工具,以CentOS7为例。
203 0
Linux下使用Wireshark抓包教程
|
6月前
|
网络协议
Wireshark 抓包工具介绍
Wireshark 抓包工具介绍
62 0
|
域名解析 网络协议
Lab 网络常用命令及wireshark抓包分析
1. 熟悉网络命令 ftp 用于连接服务器的ftp服务器 2. 计算机网络协议的分层机制和实例 3. 抓包软件Wireshark的使用
|
网络协议 Unix 网络安全
[工具使用]Wireshark(上)
[工具使用]Wireshark
218 0
[工具使用]Wireshark(上)
|
生物认证
nmap常用命令/使用教程
nmap被称为诸神之眼,常用来网络探测,比如探测存活的服务器以及开放的服务端口
234 0
nmap常用命令/使用教程
|
网络协议 Linux Shell
tcpdump使用指南
原作者:阿里云解决方案架构师,韩虎。本文针对tcpdump工具,回答如下问题: tcpdump是怎样抓包的? tcpdump如何使用? 我们自己是否可以做扩展?
1228 0