• linux tcpdump的使用详解


    Tcpdump是linux下的网络数据包分析工具,

    TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

     

     

    上次在做一个kv的java客户端,连接到kv c++ server端的时候老是没有返回数据,也不清楚是否已经连接上,于是通过tcpdump诊断是否已经收到连接,并且诊断tcp包的内容是否跟c++ client连接到c++ server端的包内容是否一致。

     

    常用选项:

    -w 写到文件,-r 从文件读取 通过表达式来过虑

     

    -c 指定多少包之后中止

    -F 从文件中读取表达式

    -i 多个网卡时,可以用于指定什么网卡

    -l 输出时行缓冲

    -n 不会将ip地址转成hostname,也就是不会进行dns查询

    -nn 不会将已知的协议转换成名称

    -s length 表明每个包的需要记录下来的大小,一般设置为0表示全记录

    -v 输出包的详细信息,比如ttl,长度等

     

     



     

    三种限定方式进行过滤

    type : host net port portrange

    比如: host foo, net 10.0.0.0 ?

    dir: 传输方向,src dst and or 

    proto: 协议类型,ether, fddi, tr, wlan, ip, ip6, ?arp, ?rarp, ?decnet, tcp ?and ?udp.?

    其它可用

    less length: 包的长度要小于length

    greater length: 包的长度要大于length

     

     

     

    组合子表达式

    通过or[||]、and[&&]与not[!] 

    有括号,需要转义

    ?tcpdump host helios and \( hot or ace \)

    tcpdump  src 10.20.150.206查看源地址为该ip的包



     

    Tcp输出分析

    格式
    src > dst: flags data-seqno ack window urgent options
    Flags are some combination of S (SYN), F (FIN), P (PUSH), R (RST), W (ECNCWR) or E (ECN-Echo), or a single ‘.’ (no flags).
    data-seqno 发送的数据序列
    Ack 下一个数据序列的起始
    Window 窗口大小

    Tcp 22端口中的数据


     
    Wireshark分析
    tcpdump tcp port 22 –w a.pcap 



     
  • 相关阅读:
    第五周学习进度报告
    第四周学习进度报告
    第三周大数据学习进度
    十六周总结
    程序员修炼之道-从小工到专家阅读笔记03
    第二阶段冲刺10
    利用正则表达式,分割地址至省市县,更新MySQL数据库数据
    阅读笔记--《大型网站技术架构》—01大型网站概述
    第三周周总结——kettle的简单使用以及MYSQL数据库去重
    热词分析中运用可用性战术
  • 原文地址:https://www.cnblogs.com/secbook/p/2655150.html
Copyright © 2020-2023  润新知