Linux实现地址转换和抓包

news2025/1/11 16:54:28

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软件打开

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RocketMQ 过滤消息 基于tag过滤和SQL过滤

RocketMQ 过滤消息分为两种,一种tag过滤,另外一种是复杂的sql过滤。 tag过滤 首先创建producer然后启动,在这里创建了字符串的数组tags。字符串数组里面放置了多个字符串,然后去发送15条消息。 15条消息随着i的增长,…

[Redis#14] 持久化 | RDB | bgsave | check-rdb | 灾备

目录 0.概述 持久化的策略 1 RDB 1.1 触发机制 1.2 流程说明 1.3 RDB 的优缺点 0.概述 在学习 MySQL 数据库时,我们了解到事务的四个核心特性:原子性、一致性、持久性和隔离性。这些特性确保了数据库操作的安全性和可靠性。当我们转向 Redis 时&a…

AI大模型驱动数据分析:利用自然语言实现数据查询与可视化(1)

在当今AI驱动的时代,数据分析已成为各行各业不可或缺的能力。然而,传统的数据分析流程通常需要掌握SQL、数据处理和可视化等多项专业技能,这对非技术背景的业务人员来说是一个不小的挑战。 想象一下,当数据中心的负责人打开手机时…

Python_Flask03

这篇文章主要介绍的是数据库的增删改查操作,无多余好说的。 from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import text from flask_migrate import Migrateapp Flask(__name__)# 本地基础信息的主机名 HOSTNAME "127.0…

在.NET 6中使用Serilog收集日志

此示例的完整详细信息:https://download.csdn.net/download/hefeng_aspnet/89998498 Serilog 是一个日志库,它提供对文件、控制台和其他几个地方的记录。它易于配置,并且具有干净且易于使用的界面。 Serilog具有无与伦比的输出目的地选择&…

【设计模式系列】备忘录模式(十九)

目录 一、什么是备忘录模式 二、备忘录模式的角色 三、备忘录模式的典型应用场景 四、备忘录模式在Calendar中的应用 一、什么是备忘录模式 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象内部状态的情况下保存和恢…

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络(VPN)详细介绍 虚拟专用网络(VPN)通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密: 隧道协议:使用协议如PPTP、L2TP/IP…

面阵相机的使用和注意事项

引言 面阵相机(Area Scan Camera)是一种广泛应用于工业视觉、医学成像、安防监控以及科研领域的图像采集设备。与线扫相机不同,面阵相机的传感器包含多行像素(例如1280x1024、1920x1080等),能够在一个曝光…

Android 车载虚拟化底层技术-Kernel4.19-Android10(双card)技术实现

Android Display Graphics系列文章-汇总 前言 对于Linux和Android来说,只要是多屏(>2)显示的场景都可以显示虚拟化。只是大部分场景对显示稳定性没有要求,系统异常了就都不显示了。但对于容器相关方案,或要求显示隔离的场景,是…

02 conda常用指令

目录 命令快速查找命令详细解释列出当前conda中存在的解释器环境使用指定的解释器环境创建虚拟环境激活自己创建的虚拟环境虚拟环境删除切换回主环境找到你计算机中安装的miniconda3的跟目录找到虚拟环境的目录选择需要删除的虚拟环境文件夹确认环境是否删除 补充删除虚拟环境指…

【C++】赋值运算与变量交换的深入探讨

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯赋值操作符与连续赋值💯常见复合赋值符及其功能💯位操作符中的复合赋值符💯题目一:账户余额练习题目描述代码实现运行结果分…

HarmonyOS:使用HTTP访问网络

HTTP 一、导入http模块 module.json5里添加网络权限 导入http模块 二、创建http请求 创建http请求 import { http } from kit.NetworkKitfunction getNetData() {// 创建数据请求对象let httpRequest http.createHttp() }三、发起请求 请求方法 四、请求示例 GET请求 PO…

KernelShark在ubuntu24.04.01的编译

KernelShark在ubuntu24.04.01的编译 写在前面具体过程装ubuntu24.04.01安装depends下载代码如何编译cmake 输出make 输出 如何安装 初步启动Add the User to the perf Group 简单的使用trace-cmd抓包 来看我的文章,必有所得。 平凡中,总有我帮您踩过的坑…

【48】Android通过libjpeg-turbo库实现图片压缩

(1)公司为节约图片占用服务器存储资源成本,需要对Android手机客户端所传递到云存储服务器中的图片进行压缩,在不影响图片失真程度的情况下,最大限度的压缩图片以节省图片所占用的存储空间。 (2)…

vue.js学习(day 18)

实例:面经基础版 (功能)组件缓存 keep-alive 小结 main.js import Vue from vue import App from ./App.vue import router from ./routerVue.config.productionTip falsenew Vue({ //注入,将路由对象注入到new Vue实例中,建立关联render: h > …

Android 使用 Canvas 和 Paint 实现圆形图片

学习笔记 效果展示: 全部代码: public class YuanActivity extends AppCompatActivity {private ActivityYuanBinding binding;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 通过 DataBinding 获取布局文件binding …

鸿蒙DevEco Profiler无法识别设备

一、问题 DevEco Studio运行项目处可以识别到设备信息,但是Profiler工具无法识别 二、背景知识 注意 DevEco Profiler工具不支持模拟器进行调优。macOS 12及以上系统版本支持使用DevEco Profiler工具。 知识来源:文档中心 三、解决方案 重启DevEco …

微信小程序版小米商城的搭建流程详解!

很多初学微信小程序语法的同学,可能不知道如何布局和搭建一个项目,下面我将讲解初学者如何搭建项目和注意事项。 目录 一、 app.json的配置 二、引入vant 三、主页banner携带参数跳转 四、点击商品项跳转详情页 一、 app.json的配置 {"pages&q…

第30天:安全开发-JS 应用NodeJS 指南原型链污染Express 框架功能实现审计0

时间轴: 演示案例: 环境搭建-NodeJS-解析安装&库安装 功能实现-NodeJS-数据库&文件&执行 安全问题-NodeJS-注入&RCE&原型链 案例分析-NodeJS-CTF 题目&源码审计 开发指南-NodeJS-安全 SecGuide 项目、 环境搭建-NodeJ…

LongVU:用于长视频语言理解的空间时间自适应压缩

晚上闲暇时间看到一种用于长视频语言理解的空间时间自适应压缩机制的研究工作LongVU,主要内容包括: 背景与挑战:多模态大语言模型(MLLMs)在视频理解和分析方面取得了进展,但处理长视频仍受限于LLM的上下文长…