Linux之DNAT策略及应用与tcpdump抓包

news2024/9/20 15:39:07

目录

一、DNAT的介绍

二、DNAT实验设计

 三、DNAT具体实验步骤操作

第一步:配置好网卡与环境

第二步:web服务器安装httpd服务,且开启httpd服务

第三步:对网关服务器进行操作

1.设置路由转发

2.设置SNAT

四、tcpdump抓包工具的运用

1)进行动态抓包处理(一旦遇到有指定数据包的出现,开始运转)

2)用客户机访问web服务器,且停止抓包

3)使用windows主机获取抓包数据拖进wireshark

4)wireshark筛选数据包


一、DNAT的介绍

DNAT:目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。通常来说,合法地址的数量比起本地内部的地址数量来要少得多

私网地址只能作为源地址来访问公网IP,而无法作为目标地址被其他主机访问

所以DNAT将私网中web服务器映射到公网IP,使其公网IP作为目标地址被公网中主机进行访问

拓展:

  • 客户机想访问服务器时,访问的是网关地址,由网关去找服务器的内网地址
  • 如果多台服务器使用同一个网关,那么通过不同的端口号来对应不同的服务器

DNAT策略的原理:

  • 目标地址转换,Destination Network Address Translation
  • 修改数据包的目标地址

DNAT源地址转换过程:

  • 数据包从外网发送到内网时,DNAT会把数据包的目标地址由公网IP转换成私网IP
  • 当相应的数据包从内网发送到公网时,会把数据包的源地址由私网IP转换为公网IP

二、DNAT实验设计

通过DNAT将web服务器的提供的httpd服务映射到网关服务器ens36网卡,且端口为80上面

 三、DNAT具体实验步骤操作

第一步:配置好网卡与环境

注意:与DNAT实验时相反,这次的web服务器在内网环境,服务机在公网环境

按照部署图设置网卡和vment即可

第二步:web服务器安装httpd服务,且开启httpd服务

第三步:对网关服务器进行操作

1.设置路由转发

#永久启用
vim /etc/sysctl.conf
 net.ipv4.ip_forward=1 
 
sysctl -p 

2.设置SNAT

使用DNAT的前提就是要用配置好SNAT

[root@localhost network-scripts]#  iptables -t nat -A POSTROUTING -s 192.168.73.0/24 -o ens36 -j SNAT --to 12.0.0.254

3.设置好DNAT

[root@localhost network-scripts]# iptables -t  nat  -A PREROUTING  -d 12.0.0.254  -p tcp --dport 80 -i ens36 -j DNAT --to 192.168.73.111:80

用客户机访问web服务器映射的IP测试:

但是这样的设置存在的最大缺点是我们通常并不会通过IP去访问,更多的时运用域名,而内网访问web服务器是用内网的私网地址,而外网访问则是映射的外网IP。所以DNAT的运用一般我们会用DNS分离解析来配合使用。使其实现内网主机通过内网域名转换为内网IP访问,外网主机也能通过域名转换为外网IP进行访问

四、tcpdump抓包工具的运用

wireshark 抓包工具只在windows中使用

tcpdump 可以在Linux系统中使用

tcpdump是Linux系统中自带抓包工具

[root@localhost network-scripts]# rpm -q tcpdump

tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp∶ ip、icmp、arp、rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型

(2)-i ens33 :只抓经过接口ens33的包

(3)-t:不显示时间戳

(4)-s0 :抓取数据包时默认抓取长度为68字节。加上"-s 0"后可以抓到完整的数据包

(5)-c 100 :只抓取100个数据包

(6)dst port ! 22 :不抓取目标端口是22的数据包

(7)src net 192.168.1.0/24 :数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机

(8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析

1)进行动态抓包处理(一旦遇到有指定数据包的出现,开始运转)

[root@localhost opt]# tcpdump -i ens36  -s0 -w  ./ens36.cap

2)用客户机访问web服务器,且停止抓包

 3)使用windows主机获取抓包数据拖进wireshark

获取方法:1.设置ftp,通过ftp直接get

                  2.winscp  直接远程登录,将/opt目录下的抓包数据拖进win主机中

 4)wireshark筛选数据包

ip.addr=指定IP 

tcp.dport=服务端口      目的端口匹配  

tcp.sport=服务端口      源端口匹配

还可以通过 “&&” 多条件一起匹配

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

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

相关文章

yooasset+hybridclr在android,ios端热更新测试

Hybridclr+YooAsset+Unity Run android+iOS 这个工程是用来学习YooAsset和Hybridcl,来做unity资源和代码热更新, 实现了android 和ios 双端,跑通。 源码在文章最后。 版本 很新的版本 用到的YooAsset 1.4.13 用到的HybridCLR 2.4.2 yooAsset git网址 https://github.co…

CVTE C++软开全程面试(一面、二面、群面、HR面)

一面,面了一个钟,问了很多问题,大部分是计算机的基础知识,我也只能记录下一部分。 C的继承问题,protected成员被public、protected和private继承的情况。 下面是关于protected成员在不同类型继承中的访问权限&#xff…

声音合成——Foley Sound——DECASE项目——多模态智能感知与应用——论文翻译

文章目录 概述论文翻译CONDITIONAL SOUND GENERATION USING NEURAL DISCRETE TIME-FREQUENCY REPRESENTATION LEARNINGAbstractSampleRNN是啥? Introduction个人总结(省流)补充个人感想 Approach2.1 Discrete time-frequency省流总结2.1.1 Mu…

http2

HTTP: HTTP/2 - High Performance Browser Networking (OReilly) 以下内容都是上面这篇文章的一些总结(或者说翻译hiahia) http2是由谷歌的SPDY之上演变而来的。主要涉及的技术包括: 头部压缩,多路复用,请求优先级 …

使用Docker Dockerfile构建php LNMP集成开发环境,并运行Thinkphp5

宿主机环境 系统:MAC、Windows10 Docker版本:Docker version 23.0.5 Docker Desktop:Dockerdesktop官方地址 前言 这篇主要介绍如何在Mac、Windows10使用docker搭建LNMP集成开发环境。下面我会写Dockerfile编译安装Nginxphp基础环境。mysql、redis基…

多维时序 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量时间序列预测

多维时序 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量输入回归预测 目录 多维时序 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量输入回归预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 多维时序 | MATLAB实现基于贝叶斯线…

Rocky Linux 8.8 发布 - CentOS 的权威替代

Rocky Linux 8.8 发布 - CentOS 的权威替代 Rocky Linux 由 CentOS 项目的创始人 Gregory Kurtzer 领导 请访问原文链接:https://sysin.org/blog/rocky-linux-8/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 以…

Linux-Shell编程

一,shell编程的概念 1.0Shell与内核的关系 内核是Linux系统的核心,它是操作系统的最底层部分,负责管理计算机的硬件资源,例如CPU、内存、磁盘等。内核还提供了许多系统调用,供应用程序使用,例如打开文件、…

数字员工IN淄博:淄博烧烤火出圈,政务服务很圈粉!

“小饼烤炉加蘸料,灵魂烧烤三件套”,淄博烧烤近期在各大社交媒体平台火爆出圈,不少人慕名前往亲身体验人间烟火气,让这座传统工业城市再度名声鹊起,焕活了淄博文旅市场的发展潜能。淄博人民的淳朴热情造就了这一次淄博…

STM32F401RET6 LQFP64 (Nucleo-F401RE) SPI通信(主从双机SPI通信)

STM32F401RET6 LQFP64 (Nucleo-F401RE) SPI通信(主从双机SPI通信) 1.1 SPI总线介绍 SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK、MOSI、MISO,片选线为NSS(CS) NSS 信号线由高变低 ,是 SPI 通讯的起始信号 。…

Redis系列--redis集群

一、redis集群介绍 一、简介与注意事项 由于数据量过大,当单个master挂了再slave进行选举时,会有一定时间内无法进行写操作,会出现数据的丢失。也就数说单个master复制集难以承担,因此需要对多个复制集进行集群,形成水…

AcWing 243. 一个简单的整数问题2

题目描述 题目链接:AcWing 243. 一个简单的整数问题2 给定一个长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一: C l r d,表示把 A[l],A[l1],…,A[r] 都加上 d。 Q l r,表示询问数列中第 l∼…

【5.20】五、安全测试——安全测试工具

目录 5.4 常见的安全测试工具 1. Web漏洞扫描工具——AppScan 2. 端口扫描工具——Nmap 3. 抓包工具——Fiddler 4. Web渗透测试工具——Metasploit 小提示:Kali Linux 5.4 常见的安全测试工具 安全测试是一个非常复杂的过程,测试所使用到的工具也…

自学网络安全/Web安全,一般人我还是劝你算了吧

由于我之前写了不少网络安全技术相关的文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人私信问我: 我刚入门网络安全,该怎么学? 要学哪些东西? 有哪些方向? 怎么选&a…

【leetcode】1373. 二叉搜索子树的最大键值和

二叉搜索子树的最大键值和 问题描述问题简单分析提交之旅第一次提交-失败第二次提交-失败第三次提交-成功 问题描述 二叉搜索子树的最大键值和 给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下: 任意节…

JVM学习(六)

1. JAVA 集合 1.1. 接口继承关系和实现 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 1. Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 2. Iterato…

Apple Safari 16.5 发布- macOS 专属浏览器 (独立安装包下载)

Apple Safari 16.5 - macOS 专属浏览器 (独立安装包下载) Safari 浏览器 16 for macOS Montery, Big Sur 请访问原文链接:https://sysin.org/blog/apple-safari-16/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org…

DevOps系列文章-Kubernetes实现CI与CD配置

Kubernetes实现CI与CD配置 一、基本介绍 基于 Kubernetes 实现 CI/CD 配置,其实和往常那些 CI/CD 配置并没有太大区别。都是通过 提交代码,拉取代码,构建代码,发布代码来实现的。 只不过要是通过 K8s 来实现的话,则是…

HNU-计算机系统-讨论课7

选题三 、我们自己来写,太“库”啦 ~ ( 1 ) 在 Linux 里用 C 语言进行代码设计,能对某一个班级、某一门 课程、某一名学生的分数进行分析,比如分数段、最高分、最低 分、排名、优势课程等,具体涉及分析…

【计算机系统基础bomb lab】CSAPP实验:Bomb Lab

CSAPP 实验:Bomb Lab 实验内容简述 作为实验目标的二进制炸弹 “Bomb Lab” Linux可执行程序包含了多个阶段(或关卡),在每个阶段程序要求输入一-个特定字符串,如果输入满足程序代码所定义的要求,该阶段的炸弹就被拆除了&#xf…