远方有多远,请你告诉我!

tcpdump

Posted on By 赵赵赵小白

常用抓包命令

使用 man tcpdump 也会显示文档

tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] 
         [ -c count ] [ --count ] [ -C file_size ] 
         [ -E spi@ipaddr algo:secret,... ] 
         [ -F file ] [ -G rotate_seconds ] [ -i interface ] 
         [ --immediate-mode ] [ -j tstamp_type ] [ -m module ] 
         [ -M secret ] [ --number ] [ --print ] 
         [ --print-sampling nth ] [ -Q in|out|inout ] [ -r file ] 
         [ -s snaplen ] [ -T type ] [ --version ] [ -V file ] 
         [ -w file ] [ -W filecount ] [ -y datalinktype ] 
         [ -z postrotate-command ] [ -Z user ] 
         [ --time-stamp-precision=tstamp_precision ] 
         [ --micro ] [ --nano ] 
         [ expression ] 
  • -i (网卡使用ip addr 查看自己的网卡名字)监听,报告链路层类型列表,报告时间戳类型列表,或报告接口上编译过滤器表达式的结果。如果未指定,并且没有给出-d标志,tcpdump将在系统接口列表中搜索编号最低的、已配置的up接口(不包括环回),结果可能是,例如,“eth0”。 在具有2.2或更高内核的Linux系统以及最新版本的macOS和Solaris上,接口参数“any”可用于从所有接口捕获数据包。注意,“any”伪接口上的捕获不会在混杂模式下完成。 如果支持-D标志,则如果系统上没有接口将该编号作为名称,则该标志打印的接口号可以用作接口参数。
  • -X 在解析和打印时,除了打印每个数据包的报头外,还以十六进制和ASCII格式打印每个数据包的数据(减去其链接级报头)。这对于分析新协议非常方便。
  • -n 不要将地址(即主机地址、端口号等)转换为名称。
  • -w 写出文件 -w filename.pcap
  • port 指定端口
  • host 指定IP

指定端口(Port)

sudo tcpdump -n -X -i eth0 port 80 -w filename.pcap

指定IP(Internet Protocol)

sudo tcpdump -n -X -i eth0 host localhost -w filename.pcap

参考

  • https://www.tcpdump.org
  • https://www.tcpdump.org/manpages/tcpdump.1.html(文章下边有示例)
  • https://blog.csdn.net/liuzk2014/article/details/121858467