# site-jpcap **Repository Path**: xfh090486/site-jpcap ## Basic Information - **Project Name**: site-jpcap - **Description**: jpcap demo - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2019-01-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # arp 拦截 篡改 demo ### - 把jar 在项目引入 - 把 dll 放到 jdk 的bin 目录 注意32位 64位 - 安装一个winpcap - 改好Constants 里面的配置 (NetWorkUtil 可以看到你是那个网卡) - 启动 ArpTest - 启动 NetWorkIntercept ### ARP 协议 - ARP缓存是一个缓冲区,用来储存IP地址和MAC地址,本质就是的对应表 - ARP协议并不只在发送了ARP请求才接收ARP应答,计算机只要接收到ARP应答数据包, 就会使用应答中的IP和MAC地址对本地的ARP缓存进行更新。(这也是我们可以进行这种apr攻击的原因) - 主机可以构造虚假的免费ARP应答,将ARP的源MAC地址设为错误的MAC地址, 并把这个虚假的免费ARP应答发送到网络中,那么所有接收到这个免费ARP应答的主机都会更新本地ARP表项中相应IP地址对应的MAC地址。更新成功后,这些主机的数据报文就会被转发到错误的MAC地址,从而实现了ARP欺骗的攻击。 ### DNS ARP - arp (mac -> ip) dns (ip -> 域名) - 但是arp 是一个内网协议 设计之初就没有考虑安全 默认网络下各主机互相信任 ### ARP 命令 - arp -a / arp -g (-g UNIX windows俩种都可以) ### ARP 欺骗 防御措施 - 不要把网络安全信任关系建立在IP基础上或MAC基础上(RARP同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。 - 设置静态的MAC-->IP对应表,不要让主机刷新设定好的转换表。 - 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。 - 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。 - 使用“proxy”代理IP的传输。 - 使用硬件屏蔽主机。设置好路由,确保IP地址能到达合法的路径(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。 - 管理员定期用响应的IP包中获得一个RARP请求,然后检查ARP响应的真实性。 - 管理员定期轮询,检查主机上的ARP缓存。 - 使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失 - 若感染ARP病毒,可以通过清空ARP缓存、指定ARP对应关系、添加路由信息、使用防病毒软件等方式解决。 ### jar包 - 在网上找了很久找到一个64位的 放项目根目录 jpcap.zip - 还有一个rar 忘记是啥了 先放这里吧 ### 资料 - https://blog.csdn.net/qq_29312157/article/details/51228219 - 使用exe软件 https://www.cnblogs.com/xcj26/articles/6073411.html ### 待解决问题 - tcp 分片重组 - gzip 解压 - 篡改数据包