端口镜像详解

什么是端口镜像?
把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。
为什么需要端口镜像 ?
通常为了部署 IDS 产品需要监听网络流量(网络分析仪同样也需要),但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。
端口镜像的别名
端口镜像通常有以下几种别名:
●Port Mirroring
通常指允许把一个端口的流量复制到另外一个端口,同时这个端口不能再传输数据。
●Monitoring Port
监控端口
●Spanning Port
通常指允许把所有端口的流量复制到另外一个端口,同时这个端口不能再传输数据。
●SPAN port
在 Cisco 产品中,SPAN 通常指 Switch Port ANalyzer。某些交换机的 SPAN 端口不支持传输数据。
●Link Mode port
支持端口镜像的交换机
大多数中档以上的交换机都支持端口镜像功能,但支持程度不同。
端口镜像配置方法
下面是几种交换机的端口镜像配置方法,主要来自于 Talisker Security Wizardry (http://www.securitywizardry.com/) 的 Switch Port Mirroring (http://www.securitywizardry.com/switch.htm)
Cisco 交换机
特点:●Cisco 2900 和 Cisco 3500XL 系列交换机
Cisco 2950、Cisco 3550 和 Cisco 3750 系列交换机
Cisco catylist 2550 Cisco catylist 3550 支持2组monitor session en password config term
Switch(config)#monitor session 1 destination interface fast0/4(1为session id,id范围为1-2)
Switch(config)#monitor session 1 source interface fast0/1 , fast0/2 , fast0/3 (空格,逗号,空格)
Switch(config)#exit
Switch#copy running-conf startup-conf
Switch#show port-monitor
Cisco 5000 系列交换机
使用 CatOS 的 Cisco 4000 和 Cisco 6000 系列交换机
使用 IOS 的 Cisco 4000 和 Cisco 6000 系列交换机
Extreme 交换机
特点:
●只能创建多对一或者一对一的镜像端口
●可以监听 VLAN 的流量
●Extreme 会镜像 IN 和 OUT 的流量。这就意味着在镜像 VLAN 的时候,会看到一个报文至少两次— —从 VLAN 的某个端口出来,并且进入 VLAN 的另一个端口。
版本高于4.1的 Extreme 交换机端口镜像配置方法
{enable | disable} mirroring on port
开启/关闭端口镜像功能,并且指定镜像流量从何端口流出,port-no 只能是一个端口
configure mirroring { add | delete } { vlan | port }
指定镜像哪个或哪些 VLAN 或端口的流量 { vlan | port } 部分可以重复多次
版本低于 4.1 的 Extreme 交换机端口镜像配置方法
enable mirror to port port-no
开启端口镜像功能,并且指定镜像流量从何端口流出,port-no 只能是一个端口
disable mirror
关闭端口镜像功能
config mirror add port 镜像端口 port-no 的流量,如果这个端口包含多个 VLAN 这些流量都会被镜像到目的端口
config mirror add port vlan
镜像端口 port-no 中指定 VLAN 的流量
config mirror add vlan
镜像端口中指定 VLAN 的所有端口的流量
config mirror del port
取消对 port-no 的端口镜像
config mirror del vlan
取消对指定 VLAN 的端口镜像
show mirror
显示端口镜像情况
Foundry 交换机 特点:
●可以创建多对多的端口镜像
Foundry 交换机端口镜像配置方法
在配置模式中(Configuration Mode):
interface
port monitor { { rx | tx | both}}
确定镜像流量从哪个端口流出,修改此端口配置
指定要镜像哪些端口的哪些流量(rx 指接收的流量,tx 指发送的流量,both 指双向流量),{ { rx | tx | both}} 部分可以重复
Juniper 交换机
特点:
●每交换机只能有一个监听端口
●只能镜像 IPv4 的流量
●只能镜像发送(transit only)的流量,不能镜像接收的流量
Juniper M 系列和 T 系列端口镜像配置方法
usen@router# show forwarding-options port- mirroring { input {family inet; rate ; run- length ;} output interface {next-hop
;} no-filter-check;} }
选择将抽样的流量发送到哪个目的端口
user@router# show firewall filter mirror-sample from {...} then {sample; accept;}
定义抽样过滤器,选择感兴趣的流量
user@router# show interface unit 0 family inet filter {input mirror-sample;}
选择将抽样的过滤器应用到某个端口
端口镜像的风险
加重交换机负载,造成设备不稳定
在某些情况下会丢包,不能保证 100% 镜像流量。例如,由于多个源端口镜像到一个目的端口,目的端口无法处理造成丢包 
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
createContainer 是 Docker API 中的一个方法,用于创建一个 Docker 容器。其基本语法如下: ``` docker.createContainer(options, callback) ``` 其中,`options` 参数是一个对象,用于配置容器的各种属性,包括镜像、命令、环境变量、网络配置等等;`callback` 参数是一个回调函数,在容器创建成功或者失败时会被调用。 `options` 参数中的一些常用属性包括: - `Image`:容器所使用的镜像名称或 ID; - `Cmd`:容器启动时执行的命令; - `Env`:容器的环境变量; - `ExposedPorts`:暴露给外界的端口; - `HostConfig`:容器的主机配置,包括容器的网络、挂载点、资源限制等等。 下面是一个基本的使用示例: ``` const docker = require('dockerode')(); const options = { Image: 'nginx', name: 'my-nginx', HostConfig: { PortBindings: { "80/tcp": [{ "HostPort": "8080" }] } } }; docker.createContainer(options, function (err, container) { if (err) { console.log(err); } else { container.start(function (err, data) { console.log(data); }); } }); ``` 以上代码会创建一个名为 `my-nginx` 的容器,使用 `nginx` 镜像,将容器的 80 端口映射到主机的 8080 端口。最后,容器启动成功后会输出一些信息。 需要注意的是,使用 Docker API 创建容器需要具备一定的 Docker 知识和经验,否则容易出现各种问题。建议在学习和使用 Docker 之前,先了解一些基础概念,例如 Docker 镜像、Docker 容器、Docker 网络等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值