tcpdump使用手册

2018 年 1 月 2 日 黑白之道 lh3526648


  常用选项


  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


登录查看更多
0

相关内容

DST ( Digital Sky Technologies) 为一家俄罗斯科技、投资公司,创始人为 Yuri Milner。2010 年,DST 将旗下邮件服务和投资职能拆分为 Mail.ru Group 和 DST Global 两家公司。 DST 曾投资过 Facebook、Twitter、Groupon、Airbnb、Spotify、Zynga、Flipkart、阿里巴巴、京东等知名科技互联网企业。
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
简明扼要!Python教程手册,206页pdf
专知会员服务
47+阅读 · 2020年3月24日
《迁移学习简明手册》,93页pdf
专知会员服务
134+阅读 · 2019年12月9日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
比Selenium快100倍的方法爬东方财富网财务报表
程序人生
8+阅读 · 2018年10月31日
已删除
生物探索
3+阅读 · 2018年2月10日
Kaggle入门手册
Datartisan数据工匠
14+阅读 · 2017年11月9日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
11+阅读 · 2018年1月11日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
简明扼要!Python教程手册,206页pdf
专知会员服务
47+阅读 · 2020年3月24日
《迁移学习简明手册》,93页pdf
专知会员服务
134+阅读 · 2019年12月9日
相关资讯
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
比Selenium快100倍的方法爬东方财富网财务报表
程序人生
8+阅读 · 2018年10月31日
已删除
生物探索
3+阅读 · 2018年2月10日
Kaggle入门手册
Datartisan数据工匠
14+阅读 · 2017年11月9日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
相关论文
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
11+阅读 · 2018年1月11日
Arxiv
5+阅读 · 2017年7月23日
Top
微信扫码咨询专知VIP会员