• SSH+Wireshark+tcpdump组合拳


    Java高效开发-SSH+Wireshark+tcpdump组合拳

     

    目标

    实现抓取远程服务器的数据包在wireshark中展示,不需要频繁使用tcpdump抓包后保存为cap数据包,在进行从服务器下载进行解析;

    工具

    1.ssh

    win10默认没有开启ssh服务端的,打开方式:搜索-->可选功能-->添加功能-->openSSH服务器-->安装即可

    2.wireshark抓包工具

    官网下载:Wireshark · Download

    本人提供的阿里云盘下载链接:https://www.aliyundrive.com/s/XDHMTb835TU

    3.tcpdump命令

    1.先查看目标服务器是否安装,tcpdump --version,出现以下信息,则已安装

    tcpdump version 4.9.2
    libpcap version 1.5.3
    OpenSSL 1.0.2k-fips  26 Jan 2017
    

    2.如果没有安装,直接使用yum快速进行安装,不在介绍其他安装方式

    yum install tcpdump
    

    使用

    1.tcpdump

    这里只做简单介绍,能够抓取到想要数据包即可

    参数:
    -i: 需要抓包的网卡
    -s: 设置数据包大小,设置为“0”时,使用默认数据包大小
    -S 将tcp的序列号以绝对值形式输出,默认相对值
    -l :(小写的 L )不缓存,直接输出
    -w -:将原始数据包写入文件,“ - ”表示使用标准输出
    -nn 不进行端口名称的转换,默认转换,比如22端口会显示ssh
    -w 存储抓到的包,一般.cap格式
    -v 输出更详细的报文信息,可以多个v一起使用,如-vvvv
    src host 指定源ip
    dst host 指定目的ip
    src port 指定源端口
    dst port 指定目的端口
    or|and|nor 与或非
    

    2.wireshark

    简单使用

    1.抓取本地的包,看到我wifi网卡有数据传输,双击即可他即可进行抓包

    2.右键指定的数据行-》追踪流-》tcp流 http流 等,就可以看到对应的数据包了

    3.常用的筛选命令
    eq == 等于ne
    != 不等于gt
    > 比…大lt
    < 比…小 ge
    >= 大于等于le
    <= 小于等于 and
    || 且 or
    && 或 not
    ! 取反
    
    过滤http请求的uri中含有/dll/test.htm?字段的请求信息
    http.request.uri contains “/dll/test.htm?”
    
    过滤包含81:60:03的udp数据包
    udp contains 81:60:03
    
    matches 匹配过滤条件中给定的正则表达式
    http.request.uri matches "表达式"
    
    过滤经过指定域名的http数据包
    1.http.host==magentonotes.com
    2.http.host contains magentonotes.com
    
    过滤指定http响应状态码
    http.response.code==200
    
    过滤所有的http响应包
    http.response==1
    
    过滤所有的http请求包
    http.request==1
    
    过滤所有请求方式为POST的http请求包,注意POST为大写
    http.request.method==POST
    
    过滤请求的uri,取值是域名后的部分
    http.request.uri=="/demo/test"
    
    过滤http头中server字段含有nginx字符的数据包
    http.server contains "nginx"
    
    过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
    http.content_type == “text/html”
    

    3.ssh+wireshark+tcpdump(重点)

    这里将介绍如何进行抓取远程的服务器数据包

    1.进入到wireshark的安装目录,在目录栏输入cmd
    2.输入命令:ssh root@192.168.1.10 -p 22 "tcpdump -i eth0 -n tcp port 8080 -s 0 -l -w -" | "wireshark.exe" -k -i -
    注意:192.168.1.10为自己的服务器地址,eth0为指定网卡,8080为指定抓取的端口,这些自己根据实际情况调整参数,如果抓不到包,指定网卡,或者查看自己的过滤条件
    3.回车会弹出wireshark,返回到cmd界面,输入yes,然后提示输入服务器密码,然后输入密码

    4.大功告成,这样不仅免去了使用tcpdump在服务器抓包保存后,再使用wireshark进行解析繁琐操作,直接配合wireshark过滤实时观察解析服务器的数据包,大大提高平时开发过程中的效率

    感谢各位小伙伴阅读到最后,如有错误,敬请指正。

  • 相关阅读:
    Two Sum II
    Subarray Sum
    Intersection of Two Arrays
    Reorder List
    Convert Sorted List to Binary Search Tree
    Remove Duplicates from Sorted List II
    Partition List
    Linked List Cycle II
    Sort List
    struts2结果跳转和参数获取
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/16084805.html
Copyright © 2020-2023  润新知