tcpdump 使用


 tcpdump是linux系统自带的抓包工具,主要通过命令行的方式,比较适合在线上服务器进行抓包操作,如果是windows或者ubuntu完全可以选择一些图形化的工具,ubuntu比较推荐用wireshark,安装方式很简单sudo apt一下即可。

 

命令行格式:

tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [ -s snaplen ][ -T 类型 ] [ -w 文件名 ] [表达式 ]

 

常用的参数:

-l    使标准输出变为缓冲行形式;
-n    不把网络地址转换成名字;

-c    在收到指定的包的数目后,tcpdump就会停止;
-i    指定监听的网络接口;
-w    直接将包写入文件中,并不分析和打印出来;
-s         指定记录package的大小,常见 -s 0 ,代表最大值65535,一半linux传输最小单元MTU为1500,足够了

-X         直接输出package data数据,默认不设置,只能通过-w指定文件进行输出

 

常用表达式:
  1. 关于类型的关键字,主要包括host,net,port
  2. 传输方向的关键字,主要包括src , dst ,dst or src, dst and src
  3. 协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型
  4. 逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'or' ,'||'
  5. 其他重要的关键字如下:gateway, broadcast,less,greater
实际例子:1.   http数据包抓取 (直接在终端输出package data)

tcpdump tcp port 80 -n -X -s 0   指定80端口进行输出

 

2.  抓取http包数据指定文件进行输出package

tcpdump tcp port 80 -n -s 0  -w /tmp/tcp.cap

 

对应的/tmp/tcp.cap基本靠肉眼已经能看一下信息,比如http Header , content信息等

 

3.  结合管道流

tcpdump tcp port 80 -n -s 0  -X -l | grep xxxx

 

这样可以实时对数据包进行字符串匹配过滤

 

4. mod_proxy反向代理抓包

线上服务器apache+jetty,通过apache mod_proxy进行一个反向代理,80 apache端口, 7001 jetty端口

 

apache端口数据抓包: tcpdump tcp port 80 -n -s 0 -X  -i eth0   注意:指定eth0网络接口

jetty端口数据抓包: tcpdump tcp port 7001 -n -s 0 -X  -i lo           注意:指定Loopback网络接口

 

5. 只监控特定的ip主机

tcpdump tcp host 10.16.2.85 and port 2100 -s 0 -X 

 

需要使用tcp表达式的组合,这里是host指示只监听该ip

 

 

小技巧:1. 可结合tcpdump(命令) + wireshark(图形化)

操作: 

  • 在服务器上进行tcpdump -w /tmp/tcp.cap 指定输出外部文件
  • scp /tmp/tcp.cap  拷贝文件到你本地
  • wireshark &  启动wireshark
  • 通过 File -> Open  打开拷贝下来的文件,这样就可以利用进行数据包分析了
  • 剩下来的事就非常方便了
2.   服务器上直接安装wireshark +  X11协议反向输出到本机

注意: 

  • wireshark如果要开启网络监控,需要通过root方式启动,否则无法直接通过网卡进行数据抓包
  • X11的反向输出,需要客户机支持X11协议,如果是ubuntu天生支持很方便,如果是windows需要安装个软件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值