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

目录

一、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=服务端口      源端口匹配

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

猜你喜欢

转载自blog.csdn.net/qq_21003381/article/details/130781646