arp

LVS-DR与 Keepalived群集

两盒软妹~` 提交于 2019-12-26 15:43:13
keepalived概述 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 keepalived工作原理 1、keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 2、虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 3、keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式

使用arpspoof进行ARP欺骗

a 夏天 提交于 2019-12-25 14:04:21
使用arpspoof进行ARP欺骗 使用虚拟机上的kail进行测试 基本原理 我们将运行实际的ARP中毒攻击,重定向数据包流并使其流经我们的设备 基本命令 arpspooef -i 网卡 -t 目标ip 默认网关 测试 下面是我作为被攻击的kail,ip为192.168.25.129 下面是我作为攻击的kail,网卡对应ip,网卡名字为 eth0 ,ip为192.168.25.128 使用上面介绍的命令,网卡为攻击kail上的,为eth0,第二个参数为被攻击的kail的ip,最后一个为网关,该局域网网关为192.168.25.2(可以自己设置) 注意!!!!!!!!! 这里若没有配置包的转发,那么当数据包到达我们机子的时候会丢弃,即出现 断网现象 。 配置数据包转发: echo 1 >/proc/sys/net/ipv4/ip_forward 总结:当被攻击中上网时,会访问默认网关,此时我们诱骗被攻击者主机,向其说明默认网关的MAC地址为攻击的Kail的MAC地址,于是被攻击者的所有数据包都往攻击者的机子上发,然后攻击者在配置数据包转发,将数据包扔出去,这时候成功诱骗被攻击中。这时,我们可以使用一些嗅探攻击进行数据,图片的盗取。如使用driftnet -i eth0对我们自己的网卡进行监控(由于被攻击者的所有数据都需要经过我们的网卡,所有我们能查看到被攻击者的一些数据)

ARP级ping命令:arping

核能气质少年 提交于 2019-12-25 06:48:01
一.工作原理 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议,是 网络链路层的协议 ,在局域网中使用。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。 ARP的工作过程: 主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01 主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02 当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程: 第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。 第2步

(十)Linux 网络编程之ioctl函数

旧街凉风 提交于 2019-12-25 03:12:26
1.介绍 Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息,所以,我们有必要了解一下ioctl函数的具体实现. 2.相关结构体与相关函数 #include int ioctl(int d,int request,....); 参数: d-文件描述符,这里是对网络套接字操作,显然是套接字描述符 request-请求码 省略的部分对应不同的内存缓冲区,而具体的内存缓冲区是由请求码request来决定的,下面看一下具体都有哪些相关缓冲区。 (1)网络接口请求结构ifreq struct ifreq{ #define IFHWADDRLEN 6 //6个字节的硬件地址,即MAC union{ char ifrn_name[IFNAMESIZ];//网络接口名称 }ifr_ifrn; union{ struct sockaddr ifru_addr;//本地IP地址 struct sockaddr ifru_dstaddr;//目标IP地址 struct sockaddr ifru_broadaddr;//广播IP地址 struct sockaddr ifru_netmask;//本地子网掩码地址 struct sockaddr ifru

Python Scapy --arp request and response

不问归期 提交于 2019-12-24 16:37:27
问题 I send a arp packet broadcast with this line: send(ARP(op=ARP.who_has, psrc="192.168.5.51", pdst=the_ip)) My question is: How can I view the response (in this case: the mac of the remote ip)? I know I can do: pkt = sniff(filter=arp , count=10) print (pkt.summary()) But I do not want to count the packets because I do not know when it will be printed (could be in the next 10 or 100 packets) Is there a way to while it is sniffing, to print the summary and thus, see the mac adress I am looking

“[Errno 1] Operation not permitted” when creating socket

本小妞迷上赌 提交于 2019-12-24 07:46:05
问题 I am trying to use the program DigiKey have made for their Amazon Dash Button hack to monitor for when the button is pressed and then send a HTTP GET to IFTTT. I am using a Raspberry Pi to run this. Source: import socket import struct import binascii import time import json import urllib2 # Use your own IFTTT key ifttt_key = 'example_key' # Set these up at https://ifttt.com/maker ifttt_url_button = 'https://maker.ifttt.com/trigger/button_pressed/with/key/' + ifttt_key # Replace this MAC

LVS负载均衡群集之DR模式+keepalived群集机构(理论+实践篇)

耗尽温柔 提交于 2019-12-24 01:54:32
LVS-DR数据包流向分析 为方便进行原理分析,将Client与群集机器放在同一网络中,数据包流经的路线为1-2-3-4 Client向目标VIP发出请求, Director (负载均衡器)接收 Director根据负载均衡算法选择RealServer 1,不修改也不封装IP报文,而是将数据帧的MAC地址改为RealServer 1的MAC地址,然后在局域网上发送。 RealServer_ _1收到这个帧,解封装后发现目标IP与本.机匹配(RealServer事先绑定 了VIP),于是处理这个报文。随后重新封装报文,发送到局域网。 Client将收到回复报文。Client认为得到正常的服务 ,而不会知道是哪一台服务器处理的 注意:如果跨网段,那么报文通过路由器经由Internet返回给用户 LVS-DR中的ARP问题 在LVS-DR负载均衡集群中,负载均衡器与节点服务器都要配置相同的VIP地址 在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱 当一个ARP广播发送到LVS-DR集群时因为负载均衡器和节点服务器都是连接到相同的网络上的,它们都会接收到ARP广播 此时只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播 对节点服务器进行处理,使其不响应针对VIP的ARP请求 使用虚接口lo:0承载VIP地址 设置内核参数arp_ ignore=1:

tcp/ip 卷一 读书笔记(5)arp和rarp 同网段和不同网段之间的通信过程

情到浓时终转凉″ 提交于 2019-12-24 01:26:59
arp和rarp 同网段和不同网段之间的通信过程 IPv6中已经没有arp rarp协议,所以这里都是IPv4。 链路层使用以太网地址来确定目的地址,应用则常使用ip地址通信 arp协议是指从ip地址获取对应的mac地址的协议 同网段和不同网段之间的通信过程 网上别人写的很经典的ping过程,不清楚原创作者是谁: 在当今的以太网络通信中,在IP数据包中有两个必不可少的地址,那就是IP地址和网卡地址(即MAC地址),在数据包中,无论是IP地址还是MAC地址,都有源地址和目标地址,因为通信是双方的,所以就必须同时拥有双方的地址!在同一IP网络中通信,将会发生以下事件: 主机A与主机B通信,这时主机A肯定首先要封装这些需要发给主机B的数据包,那么对于主机A来说,自己的IP地址和MAC自己肯定能够轻易得到,对于主机B的IP地址这时主机A也应该知道,要不然它就不清楚自己将要和谁通信,当有了自己的IP地址,MAC地址以及主机B的IP地址后,主机A在数据包中可以正确地写上源IP地址,目标IP地址,接下来的工作就是写入自己的MAC地址(即源MAC),最后还必须正确写入目标主机B的MAC地址,可这时主机A才发现自己根本没有目标主机B的MAC地址,那该怎么办呢?这时主机A就通过比较上面已经封装好的源IP和目标IP,通过子网掩码计算一下,发现源IP和目标IP恰好在同一个IP网络内

How do I send an ARP packet through python on windows without needing winpcap?

旧时模样 提交于 2019-12-23 18:56:39
问题 Is there any way to send ARP packet on Windows without the use of another library such as winpcap? I have heard that Windows XP SP2 blocks raw ethernet sockets, but I have also heard that raw sockets are only blocked for administrators. Any clarification here? 回答1: There is no way to do that in the general case without the use of an external library. If there are no requirements on what the packet should contain (i.e., if any ARP packet will do) then you can obviously send an ARP request if

ARP reply packet does not update ARP cache on Ubuntu

坚强是说给别人听的谎言 提交于 2019-12-23 04:57:09
问题 So after I have played with the Network Spoofer developed by Digitalsquid (http://digitalsquid.co.uk/netspoof/), I have been trying to get a better understanding of its internal working by writing a c program that does something similar. My program currently takes in 4 parameters - source ip, source mac, victim ip, and victim mac - and send an ARP reply packet with them. When testing the program on my home network, I would do something like setting the source ip to be the router's ip, source