您的位置:首页 > 理论基础 > 计算机网络

tcpdump使用手册

2018-01-02 00:00 375 查看


  常用选项  1、-i any: 监听所有的介面。这样你就知道是不是有流量产生。
     2、-n: 不要解决主机名,以IP数字形式显示主机。
  3、-nn: 不要解析主机名或端口名字。
     4、-X: 同时以十六进制和ASCII字符显示包的数据。
  5、-XX: 同-X,但也会显示 Ethernet头部。
     6、-v, -vv, -vvv: 详细,更详细,再详细些! 冗余输出得到的包信息。  7、-c: 抓取 x 个包后就停下。
     8、-S: 打印绝对序号。
  9、-e: 同时得到Ethernet头部。
    10、-q: 显示少一点协议信息。
  11、-E: 用提供的密钥解密 IPSEC 流量。
    12、-s: 设置显示前多少个字节的包内容(snaplength)。  tcpdump 4.0的snaplength的长度从68字节改成了96字节,这样你就可以看到多些内容了。但仍然看不到所有的内容,指定 -s 1514 得到包的所有内容。
  基本的应用  1、基本通讯,不用太多选项睇睇基本的  tcpdump -nS
     2、基本通迅,冗余输出。可以看到好多流量,  tcpdump -nnvvS
  3、深入一点查看流量。  tcpdump -nnvvXS // -X 选项必不会使tcpdump输出更多.
     4、看size大一点的包.  tcpdump -nnvvXSs 1514 // -s 1514 选项设定显示所有包内容。
  5、net: 使用无类别域间路由(CIDR,Classless Inter-Domain Routing)指定要抓包的网络。  tcpdump net 1.2.3.0/24
    6、proto: 指定要抓取的包的协议类型,可以指定tcp,udp,或icmp。可以不用敲入proto  tcpdump icmp
  7、port: 只查看从指定端口进出的流量  tcpdump port 3389
  8、src, dst port: 指定的源地址和端口号,或者目的地址和端口号。只抓取匹配指定地址端口的流量。  tcpdump src port 1025  tcpdump dst port 389
  9、src,dst port, protocal : 组合三种指定条件.  tcpdump src port 1025 and tcp  tcpdump udp and src port 53
  10、还有一个选项可以让你指定一个端口地址的范围  Port Ranges  tcpdump portrange 21-23
  11、指定包的大小  Packet Size Filter // only see packets below or above a certain size (in bytes)  tcpdump less 32  tcpdump greater 128  tcpdump equal 64  tcpdump > 32 // 也可以使用数学符号  tcpdump <= 128
  12、写入文件  用 -w 选项可以指定一个文件,把抓取到的内容存入该文件内。以后还可以用 -r 指定文件,把以前存入的内容再读回来。这是一个相当不错的方法,可以先抓取包,以后再用各种工具分析。  以这种形式抓到的流量是以tcpdump的格式储存的。这种格式在网络分析的工具之间非常通用。这意味着,像 Wireshark, Snort, 等工具也可以读取它。  把出入80端口的所有流量记录到文件中  tcpdump -s 1514 port 80 -w capture_file  然后,在将来某个时候,你就能够把存在文件中的流量读回,比如:  tcpdump -r capture_file
  13、创造性的使用tcpdump  表达式确实不错,但是要真正发挥tcpdump的威力来自于创造性地组合使用各种表达式。这样就可以把你想要关注的信息单独抽出来。tcpdump有三种组合方式,如果你稍微懂点计算机,这简直太容易理解了。  1.与操作  and 或者 &&  2.或操作  or 或者 ||  3.非操作  not 或者 !
  14、基本通讯,不用太多选项睇睇基本的  tcpdump -nS
  15、基本通迅,冗余输出。可以看到好多流量,  tcpdump -nnvvS
  16、深入一点查看流量。  tcpdump -nnvvXS // -X 选项必不会使tcpdump输出更多.
  17、看size大一点的包.  tcpdump -nnvvXSs 1514 // -s 1514 选项设定显示所有包内容。
  18、net: 使用无类别域间路由(CIDR,Classless Inter-Domain Routing)指定要抓包的网络。               tcpdump net 1.2.3.0/24

  19、proto: 指定要抓取的包的协议类型,可以指定tcp,udp,或icmp。可以不用敲入proto tcpdump icmp
  20、port: 只查看从指定端口进出的流量         tcpdump port 3389
  21、src, dst port: 指定的源地址和端口号,或者目的地址和端口号。只抓取匹配指定地址端口的流量。  tcpdump src port 1025  tcpdump dst port 389
  22、src,dst port, protocal : 组合三种指定条件.  tcpdump src port 1025 and tcp  tcpdump udp and src port 53
  23、还有一个选项可以让你指定一个端口地址的范围  Port Ranges  tcpdump portrange 21-23
  24、指定包的大小  Packet Size Filter // only see packets below or above a certain size (in bytes)  tcpdump less 32  tcpdump greater 128  tcpdump equal 64  tcpdump > 32 // 也可以使用数学符号  tcpdump <= 128
  25、写入文件  用 -w 选项可以指定一个文件,把抓取到的内容存入该文件内。以后还可以用 -r 指定文件,把以前存入的内容再读回来。这是一个相当不错的方法,可以先抓取包,以后再用各种工具分析。  以这种形式抓到的流量是以tcpdump的格式储存的。这种格式在网络分析的工具之间非常通用。这意味着,像 Wireshark, Snort, 等工具也可以读取它。  把出入80端口的所有流量记录到文件中  tcpdump -s 1514 port 80 -w capture_file  然后,在将来某个时候,你就能够把存在文件中的流量读回,比如:  tcpdump -r capture_file
  26、创造性的使用tcpdump  表达式确实不错,但是要真正发挥tcpdump的威力来自于创造性地组合使用各种表达式。这样就可以把你想要关注的信息单独抽出来。tcpdump有三种组合方式,如果你稍微懂点计算机,这简直太容易理解了。  1.与操作  and 或者 &&  2.或操作  or 或者 ||  3.非操作  not 或者 !
  27、基本通讯,不用太多选项睇睇基本的  tcpdump -nS
  28、基本通迅,冗余输出。可以看到好多流量,  tcpdump -nnvvS
  29、深入一点查看流量。  tcpdump -nnvvXS // -X 选项必不会使tcpdump输出更多.      30、看size大一点的包.  tcpdump -nnvvXSs 1514 // -s 1514 选项设定显示所有包内容。
  31、net: 使用无类别域间路由(CIDR,Classless Inter-Domain Routing)指定要抓包的网络。  tcpdump net 1.2.3.0/24
  32、proto: 指定要抓取的包的协议类型,可以指定tcp,udp,或icmp。可以不用敲入proto  tcpdump icmp
  33、port: 只查看从指定端口进出的流量  tcpdump port 3389
  34、src, dst port: 指定的源地址和端口号,或者目的地址和端口号。只抓取匹配指定地址端口的流量。  tcpdump src port 1025  tcpdump dst port 389
  35、src,dst port, protocal : 组合三种指定条件.  tcpdump src port 1025 and tcp  tcpdump udp and src port 53
  36、还有一个选项可以让你指定一个端口地址的范围  Port Ranges  tcpdump portrange 21-23
  37、指定包的大小  Packet Size Filter // only see packets below or above a certain size (in bytes)  tcpdump less 32  tcpdump greater 128  tcpdump equal 64  tcpdump > 32 // 也可以使用数学符号  tcpdump <= 128
  38、写入文件  用 -w 选项可以指定一个文件,把抓取到的内容存入该文件内。以后还可以用 -r 指定文件,把以前存入的内容再读回来。这是一个相当不错的方法,可以先抓取包,以后再用各种工具分析。  以这种形式抓到的流量是以tcpdump的格式储存的。这种格式在网络分析的工具之间非常通用。这意味着,像 Wireshark, Snort, 等工具也可以读取它。  把出入80端口的所有流量记录到文件中  tcpdump -s 1514 port 80 -w capture_file  然后,在将来某个时候,你就能够把存在文件中的流量读回,比如:  tcpdump -r capture_file
  39、创造性的使用tcpdump  表达式确实不错,但是要真正发挥tcpdump的威力来自于创造性地组合使用各种表达式。这样就可以把你想要关注的信息单独抽出来。tcpdump有三种组合方式,如果你稍微懂点计算机,这简直太容易理解了。  1.与操作  and 或者 &&  2.或操作  or 或者 ||  3.非操作  not 或者 !
  例子  1、比如检测来自10.5.2.3去到端口3389的流量  tcpdump -nnvvS tcp and src 10.5.2.3 and dst port 3389
  2、检测来自网络 192.168.0.0/16 去到网络 10.0.0.0/8 或者网络 172.16.0.0/16 的流量  tcpdump -nvX src net 192.168.0.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16
  3、来自网络 172.16.16.0.0/16 去到主机 1292.168.0.2的 ICMP 流量.  tcpdump -nvvXSs 1514 dst 192.168.0.2 and src net 172.16.0.0/16 and not icmp
  4、从主机名为 Mars(火星) 或者 Pluto(冥王星) 发出的,目的地不是SSH端口的流量
  5、tcpdump -vv src mars or pluto and not dst port 22  你还可以根据包里面的某些字段来组合各种条件指定你要关注的包。这个功能在你想要查看SYNs和RSTs非常有用。
  6、Show me all URG packets:      查看所有的紧急包(URG包)  tcpdump ‘tcp[13] & 32 != 0′
  7、查看所有的确认包(ACK包)  tcpdump ‘tcp[13] & 16 != 0′
  8、查看所有的PSH包  tcpdump ‘tcp[13] & 8 != 0′
  9、查看所有的RST包  tcpdump ‘tcp[13] & 4 != 0′
  10、查看所有的SYN包  tcpdump ‘tcp[13] & 2 != 0′
  11、查看所有的FIN包  tcpdump ‘tcp[13] & 1 != 0′
  12、查看所有的SYN-ACK包  tcpdump ‘tcp[13] = 18′
  13、注意:只有PSH, RST, SYN 和 FIN 标志显示在tcpdump的标志域输出中。URG和ACK也会被显示,但显示在其它的地方而不是在标志位中(Flags Field).  你应该明白为什么以上的命令的写法。tcp[13]表示在tcp头的偏移量13字节的位置,然后作了一个布尔判断。  在神奇的Unix世界,一件事通常可以用好几种方式做到。tcpdump也不例外。下面的例子是另一个通过指定tcp包的标志位来查看包的命令。  Capturing TCP Flags Using the tcpflags Option  用 tcpflags 选项来指定 tcp 标志位。
  14、查看SYN包.  tcpdump ‘tcp[tcpflags] & tcp-syn != 0
  15、特殊流量  查看所有IPv6的流量  tcpdump ip6
  16、查看所有同时设置了SYN和RST位的流量(仅仅举例,实际上并不可能发生):  tcpdump ‘tcp[13] = 6′
     17、查看所有的 evil 位被设置的流量  tcpdump ‘ip[6] & 128 != 0′
你会喜欢
菜鸟修炼手册(从0开始分享思路)会持续更新
ISIS网络安全手册曝光
运维工程师必会工具:Nmap 和 TCPdump

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: