zoukankan      html  css  js  c++  java
  • tcpdump教程入门

    tcpdump是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工具, 更能帮我们理解协议.

    tcpdump的一些命令选项

    1. -n不要转换一些数值, 比如把80端口转换成http显示.
    2. -i需要监控的网卡. 如果不指定, 则监控所有有效的网卡数据.
    3. -c抓取多少个包后自动停止抓取
    4. -s默认是只抓取96bytes的数据, 如果想要抓取更多的数据, 则要通过这指定更大的数值. 比如-s 1500抓取1500byte
    5. -S默认每个包的sequence是显示相对的值, 如果想显示绝对值, 通过此选项打开.

    过滤表达式

    我们抓包时, 一般是有针对性的去关注感兴趣的东西, 不然太多的信息会对我们分析数据造成干扰, tcpdump支持过滤语法.

    基本用法

    host

    host指定主机, 可以是ip或者域名.

    tcpdump -s0  -i wlan0 host www.baidu.com
    

    上面的功能是抓取本机网卡wlan0上和www.baidu.com这个主机打交道的数据. 其中-s0指定抓取所有数据, 查考前面选项介绍.

    dst, src

    有时候我们只关心数据流其中一个方向上的数据, 可以通过src: 源端, dst:目的端来指定过滤.

    tcpdump  -i wlan0 dst  www.baidu.com
    

    port

    指定端口

    tcpdump -i wlan0  port 6379
    

    抓取redis的数据.

    协议

    指定协议数据, 比如: tcp, udp, icmp

    tcpdump -i wlan0  tcp and udp
    

    抓取所有的tcp和udp数据包.

    高级用法

    tcpdump表达式可以支持逻辑组合运算, 提供更强大的功能.

    • and
    • or
    • not

    这些和所有开发语言中的语义是一样的. 下面看一些例子:

    # 源主机是192.168.1.34, 并且目标端口是80
    tcpdump -i eth0 src 192.168.1.34 and dst port 80
    
    # 所有tcp协议并且端口不是22
    tcpdump -i eth0 tcp and not port 22
    

    有时候表达式太复杂了, 我们要进行分组, 即用()把一些表达式组合在一起.

    # 源主机是192.168.1.34并且目标端口是22或者3389
    tcpdump -i eth0 'src 192.168.1.34 and (dst port 22 or 3389)'
    

    我们还可以通过分析数据包其中的部分数据计算过滤:

    # 抓取带有SYN标志的数据, tcp[13]的意思是从tcp数据包头中取第14个byte数据, 详细参考tcp协议头
    sudo tcpdump -i wlan0 'host www.baidu.com and tcp[13]&2!=0'
    

    数据保存和读取分析

    一般在服务器上截取到数据包后, 用于之后的分析, 比如传到本地机器后用wireshark分析. 可以通过-w选项保存:

    tcpdump -i eth0 src www.baidu.com -w file.cap
    

    上面把数据保存到了file.cap文件中

    参考: https://danielmiessler.com/study/tcpdump/

  • 相关阅读:
    c:forTokens标签循环输出
    jsp转long类型为date,并且格式化
    spring中@Param和mybatis中@Param使用区别(暂时还没接触)
    734. Sentence Similarity 有字典数组的相似句子
    246. Strobogrammatic Number 上下对称的数字
    720. Longest Word in Dictionary 能连续拼接出来的最长单词
    599. Minimum Index Sum of Two Lists两个餐厅列表的索引和最小
    594. Longest Harmonious Subsequence强制差距为1的最长连续
    645. Set Mismatch挑出不匹配的元素和应该真正存在的元素
    409. Longest Palindrome 最长对称串
  • 原文地址:https://www.cnblogs.com/jcli/p/4248145.html
Copyright © 2011-2022 走看看