
tcpdump
狼群一一先锋
他日仙界如相见,一声道友尽沧桑。
展开
-
libpcap/tcpdump—6—交叉编译
我使用海思编译链,gcc分别是:arm-hisiv300-linux-gcc和arm-himix200-linux-gcc。和其他工具类似,先configure,再make。1、libpcap:1、configure:./configure --disable-usb --disable-bluetooth --host=arm-himix200-linux如上所示为配置方法,编...原创 2019-11-26 14:15:11 · 493 阅读 · 0 评论 -
libpcap/tcpdump—5—捕获方式(AF_PACKET原始套接字)
pcap_loop调用pcap_read_linux_mmap_v3循环捕获数据,此时程序已经进入正常嗅探过程,而我们应该重点关注的点应该是在这之前的启动过程。整体了解之后发现一切都是围绕着socket展开,这个socket和以往纯应用层tcp/udp的socket不一样,它将Ethernet、ip、tcp层的数据都暴露出来,被称作原始套接字。libpcap/tcpdump就是用原始套接字...原创 2019-11-21 20:48:17 · 1246 阅读 · 0 评论 -
libpcap/tcpdump—4—文件结构
抓包的输出虽然可以在终端上显示,但使用-w选项写一个文件用wireshark打开分析才是最常用的方法。这篇文章讲解写出的文件结构,暂不介绍函数调用关系。The pcap file has the following format: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | file h...原创 2019-11-08 22:18:06 · 228 阅读 · 0 评论 -
libpcap/tcpdump—3—抓包结论(3 packets captured,3 packets received by filter,0 packets dropped by kernel)
每次在退出tcpdump的时候,终端上都会显示上图这样的3行信息。本篇文章就是想讲解这3个数值的相关信息。我会尽量写的详细,但能力有限,核心地方无法点到本质。这条信息是tcpdump.c中info(register int verbose)接口打印的信息。部分代码如下所示:其中packets_captured表示捕获到的包的数量,如果指定了-w选项也就是写入到文件中的包数,下一篇...原创 2019-11-05 21:56:43 · 4429 阅读 · 0 评论 -
libpcap/tcpdump—2—网络信息(listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes)
这条信息在运行tcpdump的时候都会见到,那它到底代表什么,又是怎么产生的。这篇文章就说一下这个事。这条信息共有4个内容,分别是:ens33,EN10MB,Ethernet 和 262144.这是最全的情况,查看tcpdump代码你会发现还有3个内容的情况,那个比这个要简单。忘了说了,我使用的tcpdump是4.9.2,libpcap是1.9.0.下面就把这4个内容分别介绍一下。ens3...原创 2019-09-17 17:40:38 · 5678 阅读 · 0 评论 -
libpcap/tcpdump—1—编译安装
tcpdump的编译依赖libpcap编译出来的libpcap.a 所以在编译tcpdump之前需要先编译libpcap,我使用的是libpcap-1.9.0和tcpdump-4.9.2。1、将两个文件夹放在同一个文件夹下,也就是目录下。这个在tcpdump的README.md中有说明,包括先编译libpcap也有说明。2、进入libpcap文件夹执行./configure进行配置,开始阶...原创 2019-08-09 17:33:48 · 1072 阅读 · 0 评论