基础——抓包

一 tcpdump基本使用

1.1 命令格式

tcpdump [ 选项 ] [ -c 数量 ] [ -i 网络接口 ] [ -w 文件名 ] [ 表达式 ]

1.2 常用选项

-l:使标准输出变为缓冲行形式;
-c:抓包次数,收到-c指定的包数量后退出;
-C:指定输出文件的大小,单位是Mb, 当前文件大小超过后-C指定数后,会另写一个文件,和-W配套使用;
-nn:直接以 IP 及 Port Number 显示,而非主机名与服务名称;
-s :<数据包大小> 设置每个数据包的大小,单位字节;
-i:指定监听的网络接口;
-r:从指定的文件中读取包;
-w:输出信息保存到指定文件;
-W:指定输出文件的数量,和-C配套使用,-C指定单个文件大小;
-a:将网络地址和广播地址转变成名字;
-d:将匹配信息包的代码以人们能够理解的汇编格式给出;
-e:在输出行打印出数据链路层的头部信息;
-f:将外部的Internet地址以数字的形式打印出来;
-t:在输出的每一行不打印时间戳;
-v:输出稍微详细的报文信息;
-q: 快速输出,仅列出少数的传输协议信息,精简输出

1.3 表达式(用于过滤报文)

1. port 80 :指明监听80端口数据包
2. src 192.1.1.2: 指明监听src是192.1.1.2的数据包
3. dst 192.1.1.2: 指明监听dst是192.1.1.2的数据包
4. 协议关键字:ip,arp,tcp,udp等,指明监听具体协议的数据包
5. 逻辑运算:and/or/not

1.4 常用命令组合

  • 1 捕获端口80的数据包,并保存到tcpdump_80
    tcpdump port 80 -w tcpdump_80
    
  • 2 捕获eth0网卡,端口是80并且只有源是9.123.123.5的进的tcp数据包
    tcpdump -i eth0 tcp and port 80 and src 9.123.123.5 -w tcpdupm_80
    
  • 3 捕获eth0网卡,端口是80的所有的tcp数据包
    tcpdump -i eth0 tcp and port 80 -w tcpdupm_80
    
  • 4 捕获所有网卡,端口是80的并且不转回hostname 而是也ip和端口输出详细的数据包
    tcpdump -i any tcp and port 80  -n -nn -v -vv -c 1000 -w tcpdump_80 
      
     -n -nn : 不转换ip和port
     -v -vv : 尽量以详细一点输出
     -c : 捕获1000个收到的数据包,达到数量后停止捕获
    
  • 5 捕获所有网卡,端口是80的并且不转回hostname 而是也ip和端口输出详细的数据包
    mkdir -p /data/dumpfile/dumpfile_all && chmod -R 777 /data/dumpfile/dumpfile_all && cd /data/dumpfile/dumpfile_all
    tcpdump -i any tcp and port 80  -n -nn -v -vv -C 30 -W 100 -s 80 -w tcpdump_80 
    
     -n -nn:不转换ip和port
     -v -vv :  尽量以详细一点输出
     -C 30:  每个文件30M
     -W 100:  收集100个文件,100个文件写满后会循环覆盖第一个文件
     -s 80:  每个数据包80byte
    
    

你可能感兴趣的:(基础——抓包)