当前位置: 首页 > news >正文

运维之网络安全抓包—— WireShark 和 tcpdump

为什么要抓包?何为抓包?

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。为什么要抓包?因为在处理 IP网络的故障时,经常使用以太网抓包工具来查看和抓取 IP网络上某些 端口或某些网段的数据包,并对这些数据包进行分析,定位问题。

一:WireShark工具:

  Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的。

  1、过滤器的区别

    捕捉过滤器(CaptureFilters):你要抓什么包。需要在开始捕捉前设置。 

           显示过滤器(DisplayFilters):抓完包之后你要过滤掉不需要的包,查看自己想要的包。

  2、捕捉过滤器的语法:

    语法:  Protocal | Direction | Host(s) | Value | Logical Operations | Other expression

    例子:     tcp    dst    1.1.1.1  80       and         tcp dst 2.2.2.2

  语法说明:

  Protocal(协议):可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。

  Direction(方向):可能的值: src, dst, src and dst, src or dst。如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。例如,”host 10.2.2.2″与”src or dst host 10.2.2.2″是一样的。 

  Host(s)(主机):可能的值: net, port, host, portrange,如果没有指定此值,则默认使用”host”关键字。例如,”src 10.1.1.1″与”src host 10.1.1.1″相同。

  Value(值):也就是Host(s)里的值。

  Logical Operations(逻辑运算):可能的值:not(!), and(&&), or(||),否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。

          例如, “not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″相同。 “not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不同。

  Other expression(其他表达式):配合Logical Operations 在加一些上面语法中的表达式。

例子:  
tcp dst port 3128  //捕捉目的TCP端口为3128的封包。

ip src host 10.1.1.1  //捕捉来源IP地址为10.1.1.1的封包。 

host 10.1.2.3  //捕捉目的或来源IP地址为10.1.2.3的封包。 

ether host e0-05-c5-44-b1-3c //捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。 

src portrange 2000-2500  //捕捉来源为UDP或TCP,并且端口号在2000至2500范围内的封包。 

not imcp  //捕捉除了icmp以外的所有封包。(icmp通常被ping工具使用) 

src host 10.7.2.12 and not dst net 10.200.0.0/16 //捕捉来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。 

(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8  //捕捉来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络 10.0.0.0/8内的所有封包。 

src net 192.168.0.0/24  或  src net 192.168.0.0 mask 255.255.255.0  //捕捉源地址为192.168.0.0网络内的所有封包。

      3、显示过滤器的语法:

      语法:Protocol.String1.String2 | Comparison Operator | Value | Logical Operations | Other expression

      例子: ftp. passive. ip == 10.2.3.4 xor icmp.type

    语法说明:

     Protocol(协议):您可以使用大量位于OSI模型第2至7层的协议。点击"Expression..."按钮后,您可以看到它们。如:IP,TCP,DNS,SSH、

    String(子协议):对各种协议以及它们子类的说明。String1,String2(可选项)

    Comparison Operator(比较操作):大于> ,小于<

    Logical Operations(逻辑运算):not(!), and(&&), or(||)。

    Other expression(其他表达式):配合Logical Operations 在加一些上面语法中的表达式。

  

例子: 
snmp || dns || icmp //显示SNMP或DNS或ICMP封包。  

ip.addr == 10.1.1.1  //显示来源或目的IP地址为10.1.1.1的封包。 

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6  //显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。 换句话说,显示来源IP除了10.1.2.3之外或目的IP除了10.4.5.6之外的任意IP的封包。

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6  //显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。换句话说,显示的封包将会为: 来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意封包。

tcp.port == 25  //显示来源或目的TCP端口号为25的封包。  tcp.dstport == 25  //显示目的TCP端口号为25的封包。  tcp.flags  //显示包含TCP标志的封包。  

tcp.flags.syn == 0×02  //显示包含TCP SYN标志的封包。  如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

二、TCPDUMP命令: 

  tcpdump 是一个运行在命令行下的嗅探工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。 

   tcpdump采用命令行方式,它的命令格式为:   

      tcpdump [-aAdDefhIJKlLnNOpqRStuUvxX] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -j tstamptype ] [ -M secret ] [ -Q|-P in|out|inout ] [ -r file ]

            [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z command ] [ -Z user ] [ expression ]

  1. tcpdump的选项介绍   

  -a 将网络地址和广播地址转变成名字;
  -d 将匹配信息包的代码以人们能够理解的汇编格式给出;
  -dd 将匹配信息包的代码以c语言程序段的格式给出;
  -ddd 将匹配信息包的代码以十进制的形式给出;
  -e 在输出行打印出数据链路层的头部信息;
  -f 将外部的Internet地址以数字的形式打印出来;
  -l 使标准输出变为缓冲行形式;
  -n 不把网络地址转换成名字;
  -t 在输出的每一行不打印时间戳;
  -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
  -vv 输出详细的报文信息;
  -c 在收到指定的包的数目后,tcpdump就会停止;
  -F 从指定的文件中读取表达式,忽略其它的表达式;
  -i 指定监听的网络接口;
  -r 从指定的文件中读取包(这些包一般通过-w选项产生);
  -w 直接将包写入文件中,并不分析和打印出来;
  -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)

相关文章:

运维之网络安全抓包—— WireShark 和 tcpdump

为什么要抓包&#xff1f;何为抓包&#xff1f; 抓包&#xff08;packet capture&#xff09;就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作&#xff0c;也用来检查网络安全。抓包也经常被用来进行数据截取等。为什么要抓包&#xff1f;因为在处理 IP网络…...

【复刻】数字化转型是否赋能企业新质生产力发展?(2015-2023年)

参照赵国庆&#xff08;2024&#xff09;的做法&#xff0c;对来自产业经济评论《企业数字化转型是否赋能企业新质生产力发展——基于中国上市企业的微观证据》一文中的基准回归部分进行复刻基于2015-2023年中国A股上市公司数据&#xff0c;实证分析企业数字化转型对新质生产力…...

【数据仓库】spark大数据处理框架

文章目录 概述架构spark 架构角色下载安装启动pyspark启动spark-sehll启动spark-sqlspark-submit经验 概述 Spark是一个性能优异的集群计算框架&#xff0c;广泛应用于大数据领域。类似Hadoop&#xff0c;但对Hadoop做了优化&#xff0c;计算任务的中间结果可以存储在内存中&a…...

2 秒杀系统架构

第一步 思考面临的问题和业务场景 秒杀系统面临的问题: 短时间内并发非常高&#xff0c;如果按照秒杀的并发做相应的承载会造成大量资源的浪费。第二解决超卖的问题。 第二步 思考目前的处境和解决方案 因为秒杀系统属于短时间内的高并发问题&#xff0c;我们不可能使用那么…...

UNI-APP_i18n国际化引入

官方文档&#xff1a;https://uniapp.dcloud.net.cn/tutorial/i18n.html vue2中使用 1. 新建文件 locale/index.js import en from ./en.json import zhHans from ./zh-Hans.json import zhHant from ./zh-Hant.json const messages {en,zh-Hans: zhHans,zh-Hant: zhHant }…...

【详解】AndroidWebView的加载超时处理

Android WebView的加载超时处理 在Android开发中&#xff0c;WebView是一个常用的组件&#xff0c;用于在应用中嵌入网页。然而&#xff0c;当网络状况不佳或页面加载过慢时&#xff0c;用户可能会遇到加载超时的问题。为了提升用户体验&#xff0c;我们需要对WebView的加载超时…...

RedisDesktopManager新版本不再支持SSH连接远程redis后

背景 RedisDesktopManager(又名RDM)是一个用于Windows、Linux和MacOS的快速开源Redis数据库管理应用程序。这几天从新下载RedisDesktopManager最新版本&#xff0c;结果发现新版本开始不支持SSH连接远程redis了。 解决方案 第一种 根据网上有效的信息&#xff0c;可以回退版…...

开源 SOAP over UDP

简介 看到有人想要实现两个 EXE 之间的互动。这可以采用 RPC 的方式嘛。 Delphi 现成的 RPC 框架&#xff0c;比如 WebService&#xff0c;比如 DataSnap&#xff1b; 当然&#xff0c;github 上面还有第三方开源的 XMLRPC 等等。 为啥要搞一个 UDP Delphi 的 WebService …...

Levenshtein 距离的原理与应用

引言 在文本处理和自然语言处理&#xff08;NLP&#xff09;中&#xff0c;衡量两个字符串相似度是一项重要任务。Levenshtein 距离&#xff08;也称编辑距离&#xff09;是一种常见的算法&#xff0c;用于计算将一个字符串转换为另一个字符串所需的最少编辑操作次数。这些操作…...

解决json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

前言 作者在读取json文件的时候出现上述报错&#xff0c;起初以为是自己json文件有问题&#xff0c;但借助在线工具查看后发现没问题&#xff0c;就卡住了&#xff0c;在debug的过程中发现了json文件读取的一个小坑&#xff0c;在此分享一下 解决过程 原代码 with open(anno…...

hive中的四种排序类型

1、Order by 全局排序 ASC&#xff08;ascend&#xff09;: 升序&#xff08;默认&#xff09; DESC&#xff08;descend&#xff09;: 降序 注意 &#xff1a;只有一个 Reducer,即使我们在设置set reducer的数量为多个,但是在执行了order by语句之后,当前此次的运算还是只有…...

Spring-AI讲解

Spring-AI langchain(python) langchain4j 官网&#xff1a; https://spring.io/projects/spring-ai#learn 整合chatgpt 前置准备 open-ai-key: https://api.xty.app/register?affPuZD https://xiaoai.plus/ https://eylink.cn/ 或者淘宝搜&#xff1a; open ai key魔法…...

【brew安装失败】DNS 查询 raw.githubusercontent.com 返回的是 0.0.0.0

从你提供的 nslookup 输出看&#xff0c;DNS 查询 raw.githubusercontent.com 返回的是 0.0.0.0&#xff0c;这通常意味着无法解析该域名或该域名被某些 DNS 屏蔽了。这种情况通常有几个可能的原因&#xff1a; 可能的原因和解决方法 本地 DNS 问题&#xff1a; 有可能是你的本…...

HTML——29. 音频引入二

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>音频引入</title></head><body><!--audio:在网页中引入音频IE8以及之前版本不支持属性名和属性值一样&#xff0c;可以只写属性名src属性:指定音频文件…...

代码随想录训练营第三十四天| 62.不同路径 63. 不同路径 II

62.不同路径 题目链接&#xff1a;62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 讲解链接&#xff1a;代码随想录 动态规划五步走 1 定义dp数组是到dp[i][j]时有dp[i][j]条路径 dp[i][j] &#xff1a;表示从&#xff08;0 &#xff0c;0&#xff09;出发&#xf…...

V90伺服PN版组态配置<一>

1、添加PLC之后&#xff0c;继续博图中网络视图中添加新设备&#xff0c;添加伺服驱动器组态设备 2、SINAMICS V90 PN V1.0 3、修改驱动器的IP地址。 【注意】 在项目中提前做好项目规划&#xff0c;如PLC设备从192.168.0.1开始&#xff0c;顺序递增------个位数都是CPU设备…...

又一年。。。。。。

2024&#xff0c;浑浑噩噩的一年。 除了100以内的加减法&#xff08;数据&#xff0c;数据&#xff0c;还是数据。。。。。。&#xff09;&#xff0c;似乎没做些什么。 脸盲症越来越重的&#xff0c;怕是哪天连自己都不认得自己的了。 看到什么&#xff0c;听到什…...

xterm + vue3 + websocket 终端界面

xterm.js 下载插件 // xterm npm install --save xterm// xterm-addon-fit 使终端适应包含元素 npm install --save xterm-addon-fit// xterm-addon-attach 通过websocket附加到运行中的服务器进程 npm install --save xterm-addon-attach <template><div :…...

医疗数仓业务数据采集与同步

业务数据采集与同步 业务采集组件配置业务数据同步概述数据同步策略选择数据同步工具概述1.1.4 全量表数据同步DataX配置文件生成全量表数据同步脚本增量表数据同步 MySQL - Maxwell - Kafka - Flume - HDFSMaxwell配置增量表首日全量同步 业务采集组件配置 Maxwell将业务采集到…...

数字孪生智慧水利与水务所包含的应用场景有哪些?二者有何区别

水利和水务是两个密切相关但有所区别的概念&#xff0c;它们在水资源管理和保护方面各自承担着不同的职责和功能。 定义 智慧水务&#xff1a;智慧水务是指通过物联网、大数据、云计算、人工智能等新一代信息技术&#xff0c;对城市供水、排水、污水处理、水质监测等水务系统…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...