数据包抓取工具tcpdump移植和使用

数据包抓取工具tcpdump移植和使用 程序员小贾 2024-01-15 14:59:00 137
1. 概述

tcpdump是一个用于抓取网络数据包的命令行工具,与带界面的Wireshark一样,基于libpcap库构建。
tcpdump的设计目标是帮你分析包头(比如Tcp包头,udp包头),同时你可以根据包头,用它支持的表达式,过渡出你感兴趣的包,从而方便你自己处理包中数据。

2.移植

分为下面三步:
(1)设置环境变量:
a. vi configure.env
b. 输入以下内容:

ARCH=xxxxxx    #xxxxx为你的编译器目录
    CC=${ARCH}-gcc
    CXX=${ARCH}-g++
    AR=${ARCH}-ar

    export ARCH
    export CC
    export CXX
    export AR

c. 保存后,配置当前shell:

source configure.env

(2)移植libpcap
a. 下载libpcap-1.0.0.tar.gz;
b. 解压:

tar xvf libpcap-1.0.0.tar.gz

c. 进入解压后的libpcap-1.0.0目录,配置项目:

ac_cv_linux_vers = 2.6.35 ./configure -host=arm-linux --with-pcap=linux --prefix=xxxxxx

#2.6.35为目标linux版本,xxxxxx为你想安装的位置
d.编译、安装:

make; make install

(3)移植tcpdump
a.下载tcpdump-4.0.0.tar.gz;
b.解压:

tar xvf tcpdump-4.0.0.tar.gz

c.进入解压后的tcpdump-4.0.0目录,配置项目:

ac_cv_linux_vers = 2.6.35 ./configure -host=arm-linux --prefix=xxxxxx    #选项含义同上

d.编译:

make;     #此步骤会提示"undefined reference to 'ip6_print'"

e.注释掉print-enc.c文件中的下面这段:

case AF_INET6:
       ip6_print(p, length);
       break;

f.编译、安装:

make; make install    #完成后,可以安装目录的sbin中找到tcpdump

3.使用
(1)使用格式如下:
命令 [无参数标志] [有参数标志] [表达式]

Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
        [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
        [ -i interface ] [ -M secret ] [ -r file ]
        [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
        [ -y datalinktype ] [ -z command ] [ -Z user ]
        [ expression ]

(2)常用标志:

-x    #打印数据的16进制值,每行16个字节
-X    #同上,还在每行右边显示对应的ASCII的值,如果值可显示的话
-s 0    #打印时,包括包中的数据,默认只打包的帧头(比如:tcp的帧头)

(3)常用表达式
a. 单个表达式间存在空格时,要用引号包起来
b. 表达式间要用and/or/not连接起来

src/dst    #指定下一个参数(host/net/port) 作用于本地,或是远程
host/net 192.168.1.150   #指定我们关心的主机、IP等
tcp/udp    port    3333    #指定我们关心的tcp或udp端口
and or not    #表达式间的与、或、非
& || !    #表达式内部的与、或、非

c.示例

./tcpdump -X -s 0 host 192.168.1.153 and "tcp[tcpflags] & tcp-push != 0" and src port 3333
\#抓住所有从192.168.1.153的3333端口发过来的tcp数据包(不要同步包、结束包等),并将包头和数据的16进制值与ASCII值打印到控制台

4)详细使用说明
标志说明:http://www.tcpdump.org/tcpdump_man.html
表达式说明:http://www.tcpdump.org/manpages/pcap-filter.7.html

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
程序员小贾
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区