Linux实现地址转换和抓包

1.Linux实现地址转换

1.1 SNAT和DNAT

  • NAT:地址转换
  • SNAT:源地址转换
  • DNAT:目的地址转换

内网——》外网:内网色的ip不能直接和公网ip通信,必须要把内网的地址转换成和公网ip通信的地址

外网——》内网:外网也不能直接和内网通信,外网ip也需要转换成一个可和内网通信的地址。

2. Linux实现地址转换过程

首先要主备三台服务器,这里分别叫a机器,b机器,c机器,其中b机器做网关服务器,a机器做内网,c机器做外网

a机器 ip:          192.168.48.6

           网关为:192.168.48.254

c外网  ip:         12.0.0.10

           网关为: 12.0.0.254

所以b机器要有两个网络接口

1.Linux中添加网络接口方法

添加成功之后可以在用命令ifconfig查看,如图所示,有两张网卡,一个叫ens33,另一个ens38

2. 打开b机器的网卡配置文件vim /etc/netplan/01-network-manager-all.yaml ,只配置网关

3.打开vim /etc/sysctl.conf将28行注释解除

/etc/sysctl.conf:linux系统内核的接口文件,修改配置内核的参数使之永久生效

4.sysctl -p 立即生效

重新加载配置文件sysctl -p 命令会读取 /etc/sysctl.conf 文件中的内核参数设置,并将其应用到当前系统的内核中。

5. 内网网卡配置

6. 外网网卡配置

修改配置后记得netplan apply 确保新的配置生效

7. 在a机器和c机器同时下载nginx(apt -y install nginx),

8. 内网转换

命令 iptables -t nat -A POSTROUTING -s 192.168.48.0/24 -o ens38 -j SNAT --to 10.0.0.10

 iptables -t nat -A POSTROUTING -s 192.168.48.0/24 -o ens38 -j SNAT --to 10.0.0.10

#从ens38出去的数据包且网段属于192.168.48.0/24的把网段转换成10.0.0.10

用机器a访问nginx 机器a的IP都转换成10.0.0.10 

2.抓包

命令 tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.48.0/24 -w /opt/target.cap

静态抓包

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.48.0/24 -w /opt/target.cap

tcpdump 开头
tcp:协议 icmp udp 
-i ens33 指定设备名称 从哪个设备经过的数据包
-t 不显示时间戳
-s0: 默认抓包的长度是68字节,s0就是抓取完整的数据包
-c 10: 抓取多个数据包
and dst port 目标端口 80 和80端口相关的数据包
and src net 源ip是192.168.233.0/24这个网段的ip地址。
-w 抓包的结果保存到指定的文件当中去
.cap tcpdump只是抓取数据包的内容,但是linux系统不能查看抓包的数据包。所以用.cap为结尾是为了给抓包工具分析

tcpdump -i ens33 -s0 -w /opt/ens33.cap

动态抓包

抓包完成后无法用cat查看,要用sz下载命令下载到桌面用Wireshark软件打开

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/929921.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

与火山引擎合作深化,观测云携一站式监控解决方案登陆万有商城

近日,观测云正式宣布入驻火山引擎的万有商城。作为一款全栈式数据观测与分析平台,观测云的加入不仅丰富了火山引擎生态,也为广大企业用户带来了更便捷的数字化工具,助力企业快速实现业务监控与优化。 从全球覆盖到本地深耕&#x…

一、web基础和http协议

前言 https://www.baidu.com/:URL(是一种万维网寻址网址) https://:协议,加密的http,加密的超文本传输协议,在数据传输之前要通过整数进行身份验证,验证通过才可以进行数据传输。 …

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…

高通---Camera调试流程及常见问题分析

文章目录 一、概述二、Camera配置的整体流程三、Camera的代码架构图四、Camera数据流的传递五、camera debug FAQ 一、概述 在调试camera过程中&#xff0c;经常会遇到各种状况&#xff0c;本篇文章对camera调试的流程进行梳理。对常见问题的提供一些解题思路。 二、Camera配…

03_Webpack模块打包工具

03_Webpack模块打包工具 目录 知识点自测 以下哪个选项是 ECMAScript 默认导出和导入的语法&#xff1f; A&#xff1a;export 和 require B&#xff1a;module.exports {} 和 import 变量名 C&#xff1a;export default 和 import 变量名 D&#xff1a;export 和 import {…

FastAPI解决跨域报错net::ERR_FAILED 200 (OK)

目录 一、跨域问题的本质 二、FastAPI中的CORS处理 1. 安装FastAPI和CORS中间件 2. 配置CORS中间件 3. 运行FastAPI应用 三、解决跨域报错的步骤 四、案例&#xff1a;解决Vue.js与FastAPI的跨域问题 1. Vue.js前端应用 2. FastAPI后端API 3. 配置CORS中间件 4. 运行…

盲盒抽卡机小程序,打造趣味与惊喜并存的卡牌体验

随着科技的不断发展&#xff0c;线上营销方式已经渗透到了各行各业中&#xff0c;卡牌市场也不例外。传统的拆卡方式存在一些局限问题&#xff0c;为了提高消费者的拆卡体验&#xff0c;线上抽卡机系统成为了新的发展方式&#xff0c;提供全新的市场活力。 盲盒抽卡机系统是卡…

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统

目录 简介快速入门 简介 github地址 快速入门 看前两篇&#xff0c;调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手&#xff0c;你需要查询相应地区的天气&#x…

git将一个项目的文件放到另一个项目的文件夹下

现有productA与productB项目&#xff0c;现将productA、productB放到productC下的mall-web文件下&#xff0c;目前只能实现保留productA的提交记录&#xff0c;暂不能实现保留两个的提交记录 一.克隆最新的productC的库&#xff0c;这里指mall-web 二.将productA复制到mall-we…

flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示

flink-connector-mysql-cdc&#xff1a; 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本&#xff1a;3.2.0 flink版本&…

【机器学习】机器学习的基本分类-监督学习-支持向量机(Support Vector Machine, SVM)

支持向量机是一种强大的监督学习算法&#xff0c;主要用于分类问题&#xff0c;但也可以用于回归和异常检测。SVM 的核心思想是通过最大化分类边界的方式找到数据的最佳分离超平面。 1. 核心思想 目标 给定训练数据 &#xff0c;其中 是特征向量&#xff0c; 是标签&#xf…

[Redis#15] 持久化 | AOF | rewrite | aof_buf | 混合持久化

目录 1 使用AOF 流程 问题一&#xff1a;父进程在fork之后继续写旧AOF文件的意义 问题二&#xff1a;执行BGREWRITEAOF时的特殊情况处理 2 命令写入 3 文件同步 4 重写机制 工作流程&#xff1a; 触发条件 混合持久化 持久化 sum AOF&#xff08;Append Only File&a…

springai结合ollama

目录 ollama 介绍 使用 下载&#xff1a; 安装&#xff1a; 点击这个玩意next就行了。 运行 spring ai使用ollama调用本地部署的大模型 加依赖 配置yml 写代码 ollama 介绍 官网&#xff1a;Ollama Ollama是一个用于部署和运行各种开源大模型的工具&#xff1b; …

关于Chrome自动同步书签的解决办法

前言 并不一定适用所有用户&#xff0c; 目前我在网上搜集了一些资料&#xff0c;也做了一些尝试。 就我个人总结的经验来讲&#xff0c;分享大家以下几种办法&#xff1a; 1.书签同步插件 点击如下&#x1f517;&#xff1a; Chrome书签同步https://bm.famend.cn/ …

SpringMVC纯注解快速开发

此文章适合具有一定的java基础的同学看哦&#xff0c;如果有看不懂的基本代码还是先补补java基础哦。 此教程带您不使用xml文件而是纯注解开发&#xff0c;易懂、快捷、迅速&#xff0c;从0开始搭建&#xff0c;很快就能构建起一个SpringMVC项目&#xff0c;能学到两种使用tom…

16-02、JVM系列之:内存与垃圾回收篇(二)

JVM系列之&#xff1a;内存与垃圾回收篇(二) ##本篇内容概述&#xff1a; 1、堆Heap Area 2、方法区Method Area 3、运行时数据区总结 4、对象的实例化内存布局和访问定位一、堆 Heap Area 1、堆的核心概念 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心…

第二篇:k8s工作流程

我们来看通过deployment部署pod的常规流程&#xff1a; kubectl向apiserver发送部署请求&#xff08;例如使用 kubectl create -f deployment.yml&#xff09;apiserver将 Deployment 持久化到etcd&#xff1b;etcd与apiserver进行一次http通信。controller manager通过watch a…

「Mac畅玩鸿蒙与硬件39」UI互动应用篇16 - 倒计时环形进度条

本篇将带你实现一个倒计时环形进度条应用。用户可以设置倒计时的时间&#xff0c;启动倒计时后&#xff0c;应用会动态显示一个随着时间递减的环形进度条&#xff0c;同时伴有数字倒计时显示。这是结合动画效果和时间管理的实用示例。 关键词 UI互动应用倒计时器环形进度条动…

Qt Qtablewidget 标题 QHeaderView 增加可选框 QcheckBox

创建自定义QHeaderView #pragma once#include <QObject> #include <QHeaderView> #include <QPainter> #include <QMouseEvent>class SSHeaderView : public QHeaderView {Q_OBJECTprivate:bool isChecked;int m_checkColIdx; public:SSHeaderView(i…

Java 单元测试模拟框架-Mockito 的介绍

Mockito 是什么 Mockito 是一个用于单元测试的模拟框架&#xff0c;基于它可以使用简洁易用的API编写出色的测试。 Mockito 允许开发人员创建和管理模拟对象&#xff08;mock objects&#xff09;&#xff0c;以便在测试过程中替换那些不容易构造或获取的对象。 Mockito的基本…