网桥
据说网桥是早期工作在数据链路层的二端口交换设备,是现代交换机的前身,根据功能描述应该可以将其想象成只有两个端口的交换机,不支持VLAN
只是用来数据包的2
层交换,如今这种设备已经和集线器一样被现代的交换机所取代,并且这种层2
交换功能也早已经在以Linux
为代表的开源系统上软件化,也就是我们常说的“桥接”或“网桥”技术,简单的来说,系统配置网桥后就可以提供交换机的数据转发功能,但这种软件实现的交换功能在生产环境中并不常见,因为交换设备作为网络通信的骨干节点对数据传输的稳定性要求较高,通常不会使用非专业设备来提供服务,但对于黑客来说建立网桥提供接入点可以实现隐式的抓包是种非常实用的渗透窃听手段。
开源系统中网桥工具是bridge-utils
,该工具广泛部署在各开源系统中的Repo
中,可以很方便的使用系统自带的包管理命令进行安装部署,工具的主程序是brctl
,网桥实现的机制是虚拟一个网桥接口然后以此囊括系统上所要添加进网桥的流量接口,添加进网桥的接口仅工作在数据链路层只关注数据包的MAC
地址,因此接口无需配置IP
地址,和现代交换机一样网桥接口可以配置IP
地址来实现网络通信,配置命令如下:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0brctl addbr br0
brctl addif br0 eth0 eth1
brctl showifconfig br0 192.168.19.10 netmask 255.255.255.0 up
route add default gw 192.168.19.2
配置完成后系统中出现网桥接口br0
,eth0
和eth1
即可实现层2
数据交换。通过命令配置的网桥只是临时生效,如果需要长久生效可以使用配置文件实现。
在开启了DHCP
的网络中主机可能会自动发送IP
请求,可以通过禁用networkmanager
服务来达到手动配置IP
的目的,当今一切事物都在变化,连系统上服务管理命令也在演化,以前常用的chkconfig/service
也在慢慢的被systemctl
所替代,如下所示:
chkconfig --list | service --status-all <-> systemctl list-unit-files --type=service | systemctl list-units --type=service
service xxx status <-> systemctl status xxx
service xxx start/stop/restart <-> systemctl start/stop/restart xxx
chkconfig --level 3 xxx on/off <-> systemctl enable/disable xxx.service
网桥所涉及的中间人攻击主要应用在无线网络领域,在此就不在赘述。