个人网络防范

目录 安全事件频发根源在于背后利益链条 不仅仅是中国 网络安全事件成国际性难题 个人网络信息安全防护 四招来帮忙 首先,预防第一 第二,健康的上网浏览习惯 第三,WiFi安全性 第四,规范的文件处理 黑客攻击无孔不入,钓鱼网站日益频发多发,伪基站不断升级,甚至从不联网的 WindowsXP都有可能感染病毒。 2016年6月23日,中国五联网协会发布的《2016中国网民权益保护调查报告》显示, 从2015年下半年到2016年上半年的一年间,我国网民因垃圾短信、诈骗信息、个人信息泄 露等原因遭受的经济损失高达915亿元,其中9%的网民经济损失在1000元以上,84%的网民 曾亲身感受到由于个人信息泄露带来的不良影响。冒充公安、社保等部门进行诈骗和社交 软件上进行诈骗的情况有增长趋势,37%的网民因收到各类网络诈骗而遭受经济损失。 安全事件频发根源在于背后利益链条 俗话说无利不起早,没有巨大的利益诱惑,就不会有这么多的网络攻击和信息窃取。 信息安全黑色产业链其实多年来一直存在,每年带来的损失也大幅度增长,甚至现在还有 一些专门的网站和应用公开的教学黑客入侵技术等手段,攻击的方式越来越多,技术门槛 越来越低,导致现在出现了很多技术低级的所谓黑客也能祸乱市场。前不久,一名18岁的 “黑客”,竟然通过自学编程,带领一批人在网上大肆盗刷别人的银行卡,涉案金额近15 亿元。 不仅仅是中国 网络安全事件成国际性难题 事实上,国际上任何一个网络大国,也基本都是遭受网络攻击损失最严重的国家。除 中国外,美国、日本、韩国以及欧洲国家都遭受过不同程度的信息安全问题。以美国为 例,仅仅美国核安全部门每天处理1000万次网络攻击,美国安全局也表示我们正面临严重网络攻击威胁。 网络安全形势日益严峻,网友该如何防范呢? 个人网络信息安全防护 四招来帮忙 首先,预防第一 ●安装网络安全防护软件。为抵御各种令人防不胜防的病毒、木马和恶意软件, 电脑和智能手机上要安装360安全卫士、金山卫士、qq电脑管家等安全软件,定 期杀病毒,保护浏览器和系统文件,这是安全使用网络的第一步。 ●及时修复系统漏洞,尽量使用较新版本的操作系统或应用软件,尤其是浏览 器、即时聊天工具和电子邮件。因为随着软件的升级换代,漏洞会相对较少,要 关注软件开发商发布的软件补丁,在安装补丁时一定要确保补丁来源的安全。 第二,健康的上网浏览习惯 ●不要在不同的网站(QQ、邮箱、银行账号)使用同样的密码,而且密码设置要 复杂。黑客要入侵受密码保护的计算机时,通常首先尝试简单的可能猜中的密码。不要使用自己或者亲人的生日、身份证号码作为密码,也不要用123456、 ASDFGH这样的弱密码,最好是英文加数字的混合方式。 ●使用QQ等通讯软件时,不要随意同意他人登录或接收他人传送的文件。绝大多 数的计算机病毒通常都以可执行文件(后缀名.exe、.com、.bat、.vbs、.sys等 可以直接由操作系统加载程序运行的文件)形式存在,收到此类可执行文件后, 应当及时用杀毒软件扫描、检查,确定无异常后才可使用。 ●不使用非法不安全网站,不要打开陌生人的邮件,不要随意注册并留下自己的 6 一些真实信息,如姓名、电子邮箱地址、身份证等。 第三,WiFi安全性 ●关闭WIFI自动连接,在自己想用的时候再开启,不要设置成自动连接。 ●不要使用来源不明的WIFI,防范钓鱼WIFI的最重要的一点是牢记“天下米有免费的 午餐”。攻击者会利用用户图省事、贪图便宜的心理,自建WIFI热点,名称与正确的 WIFI名称很接近,并且不设置密码,这样,一旦用户进入了该网络渠道,所有网络材质信息都会被对方知道。 ●不要随意在公共网络、在其它终端使用网上银行、支付宝、信用卡服务等,一旦这 些数据被截获,会给受害者带来巨大的损失。 第四,规范的文件处理 ●定期做好文件备份:我们都习惯于把经常使用的文档和资料全部放在桌面上,这 样,一旦系统中了病毒,或者硬盘出现问题无法引导系统的时候,系统盘盘里面的数 据非常容易丢失并且很难找回,所以,请大家把重要的文档和资料要归类存放,并且 不要放在系统盘。安装软件时不要直接装在根目录,因为有些软件卸载的时候是采用 的将目录删除的方式,容易造成根目录下的其他文件、资料的丢失。 ●切勿随意下载来历不明的软件,特别是智能终端APP的下载。不良APP会在用户不知 情的情况下获取手机支付用户的个人信息,实施网络欺诈和攻击。所以下载手机APP 一定要在正规应用商店,认清名单标示后再下载,切勿随意从网络下载来历不明的软件。 个人防护是最后一道防御关口,也是防御网络安全问题侵害最主要的关口 之一。很多时候,网络安全问题还在于我们的广大网民疏于防范,给了不法分子可乘之机。

防火墙(讲解)

目录 1.防火墙是什么? 2.防火墙设备 3.防火墙功能 1)出色的控制能力,过滤掉不安全服务 2)过滤非法用户和访问特殊站点 3)它能够对网络存取和访问进行监控审计 4.防火墙的局限 (1)防火墙有可能是可以绕过的 (2)防火墙不能防止内部出卖性攻击或者内部误操作 (3)防火墙不能防止对开放端口或服务的攻击 (4)防火墙可以阻断攻击,但是不能消灭攻击源 (5)防火墙本身也会出现问题,也会遭到攻击 大家在上网的过程中应该都见过这样一个安全提示:windows防火墙已阻止此程序。 1.防火墙是什么? 在古代建筑中,防火墙(Fire Wall)是用来防止火灾蔓延的防护构筑物。而在计算机网络中,防火墙是设置在可信任的内部网络和不可信任的外界(如因特网)之间的一道保 护屏障,用来保护内部网免受外部网上非法用户的入侵,这是目前实现网络安全最有效的 措施之一。 安装防火墙以后,所有内部网络和外部网络之间传输的数据必须通过防火墙,防火墙 允许授权“同意”的用户和数据进入到内部网络中,同时将“不同意”的用户和数据拒之 门外,最大限度地阻止网络中的黑客来访问内部网络。 在电影《防火墙》中,盗匪利用绑架电脑专家杰克的家人,威胁杰克利用自己的电脑 强项,来突破杰克自己编写的防火墙程序,以达到从银行的账户上窃取客户资料、获得金钱的非法目的。如果杰克不帮助盗匪通过防火墙,盗匪就无法访问银行内部的网络。 2.防火墙设备 防火墙的发展历经三代:简单包过滤、应用代理、状态检测防火墙,目前最新的主流技术是具有数据流过滤功能的防火墙。 早期的防火墙一般是直接安装在计算机上的一套软件,是一个应用软件,代表的产品 有checkpoint公司的防火墙,还有一些用于个人计算机的防火墙,如瑞星、360ARP,金山网盾等。 后来采用PC硬件结构,基于Unix、LINUX等操作系统内核开发安全防护的一些基本特性所构成的硬件防火墙,是软件和硬件的结合体,如天融信公司的早期防火墙产品。 现在则是采用独立设计的asic芯片,基于专门的硬件平台,没有操作系统,在CPU, 电源、风扇、总线、扩展插卡等方面优化结构,保证防火墙产品得到最优的处理性能,比 较有名的是华为、思科、H3C、juniper等公司的防火墙产品 3.防火墙功能 在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,入侵者必须首先穿越防 火墙的安全防线,才能接触目标计算机。 1)出色的控制能力,过滤掉不安全服务 防火墙作为一个阻塞点、控制点,能封锁所有的信息流,通过服务控制(确定哪些服 务可以被访问)、方向控制(对于特定的服务,可以确定允许哪个方向能够通过防火 墙)、用户控制(根据用户来控制对服务的访问)、行为控制(控制一个特定的服务的行 为),对希望提供的安全服务逐项开放,把不安全的服务或可能有安全隐患的服务一律扼 杀在萌芽之中,从而极大地提高内部网络的安全性。 2)过滤非法用户和访问特殊站点 通过以防火墙为中心的网络安全方案配置,能将所有安全软件(口令、加密、身份认 证、审计等)配置在防火墙上,以强化网络安全策略。如是否允许所有用户和站点对内部 网络进行访问,是否按照IP地址对未授权的用户或不信任的站点进行逐项屏蔽。 3)它能够对网络存取和访问进行监控审计 所有的外部访问都经过防火墙时,防火墙就能记录下这些访问,为网络使用情况提供统 计数据。当发生可疑信息时防火墙能发出报警,并提供网络是否受到监测和攻击的详细信息。 除了安全作用,防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN(虚拟专用网)。 4.防火墙的局限 防火墙并不是万能的 (1)防火墙有可能是可以绕过的 防火墙一旦被攻击者击穿或者绕过,防火墙就失去作用了。实际上由于防火墙依赖于口 令,所以防火墙不能防范黑客对口令的攻击。几年前,两个在校学生编了一个简单程序, 通过对波音公司的口令字的排列组合试出了开启内部网的要求,从内部网中搞到了一张授 权的波音公司的口令表,将口令一一出卖。所以美国马里兰州的一家计算机安全咨询机构 负责人诺尔.马切特说:“防火墙不过是一道较矮的篱笆墙”。黑客像耗子一样,能从这 道篱笆墙上的窟窿中自由出入。 (2)防火墙不能防止内部出卖性攻击或者内部误操作 显然,当内部人员将敏感数据或者文件复制到U盘等移动设备上提供给外部攻击者时,防 火墙是无能为力的。当内部一个带有木马的机器主动和攻击者连接,这时像铁壁一样的防 火墙瞬间就会被破坏掉。此外,内部网中各个主机之间的攻击行为,防火墙也只有如旁观 者一样冷视而爱莫能助。 (3)防火墙不能防止对开放端口或服务的攻击 如WEB服务要开放80端口,MAIL服务要开放25端口,这时防火墙不能防止对80端口、25端 口的攻击。 (4)防火墙可以阻断攻击,但是不能消灭攻击源 防火墙是一种被动防卫机制,不是主动安全机制。因特网上的各种攻击源源不断,设置得 当的防火墙可以阻挡他们,但是无法消除这些攻击源,这些攻击仍然会源源不断的向防火 墙发出攻击尝试。

wireshark流量分析

wireshark流量分析 着色规则: 显示自定义列 wireshark 默认显示列 No:编号,即pacp开始的帧号 Time:时间,分解为纳秒 Source:源地址,通常为IPv4、IPv6、以太网地址 Destination:目的地址,通常为IPv4、IPv6、以太网地址 Protocol:协议,{ 在以太⽹帧、IP包或TCP段(ARP、DNS、TCP、HTTP等)中使⽤的协议)} length:帧的⻓度,单位为字节 右键列标题 1.取消勾选可以隐藏列 2.列首选项,点击加号、减号 新增或删除列 3.自定义新增列 Wireshark 允许我们根据帧详细信息窗口中的几乎任何值添加自定义列。 将HTTP和HTTPS流量中使用的域名添加到Wireshark列显示 要快速查找 HTTP 流量中使用的域,请使用 Wireshark 过滤器 http.request 并检查帧详细信息窗口。在详细信息host项右键 apply as column 要查找加密 HTTPS 流量中使用的域,请使用 Wireshark 过滤器 ssl.handshake.type == 1 并检查帧详细信息窗口。 4.将时间更改为 UTC 要更改时间显示格式,请转到“视图”菜单,操作到“时间显示格式”,然后将值从“自捕获开始以来的秒数”更改为“UTC 日期和时间”。使用相同的菜单路径将分辨率从“自动”更改为“秒”。图 显示了这些选项的菜单路径。 过滤器 如果您在显示过滤器中键入任何内容,Wireshark会根据您键入的文本提供建议列表。虽然显示筛选器栏保持红色,但尚未接受表达式。如果显示筛选器栏变为绿色,则表达式已被接受,应正常工作。如果显示筛选器栏变为黄色,则表达式已被接受,但它可能无法按预期工作。 规则 1.表达式可以使用布尔表达式 Equals: == or eq And: && or and Or: || (double pipe) or or less than 小于 < lt 小于等于 le 等于 eq 大于 gt 大于等于 ge 不等 ne 2.

Java Stream流解决部分问题

记录一下使用Java Stream流解决部分问题的过程。 获取实体类的name属性在nameList集合中的第一个实体类对象。 // 目标nameList List<String> nameList = new ArrayList<>(); nameList.add("dames"); nameList.add("dames1"); List<TestEntity> list = new ArrayList<>(); list.add(TestEntity.builder().name("dames").build()); list.add(TestEntity.builder().name("dames1").build()); list.add(TestEntity.builder().name("dames2").build()); list.add(TestEntity.builder().name("dames3").build()); // 对象需要用Optional容器接收 Optional<TestEntity> first = list.stream().filter(item -> nameList.contains(item.getName())).findFirst(); 筛选出map集合中第一个key对应的value,这个key需要满足的是某字符串以它开头。 // 保存k-v映射关系的map Map<String, String> map = new HashMap<>(); map.put("omada.iot", "iot"); map.put("test", "value2"); map.put("omada", "omada"); // 目标字符串 String prefix = "omada.iot"; // 找到一个符合目标字符串以key开头的对应的value String firstMatch = map.entrySet().stream() .filter(entry -> prefix.startsWith(entry.getKey())).findFirst() // Map.Entry映射为String .map(Map.Entry::getValue).orElse(null); 数据累加。 reduce()方法可以将流元素聚合为单个结果。它接受一个BinaryOperator参数作为累加器。 List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Optional<Integer> sum = numbers.

图解Kafka架构学习笔记(三)

准备Kafka环境 这里推荐使用Docker Compose快速搭建一套本地开发环境。 以下docker-compose.yml文件用来搭建一套单节点zookeeper和单节点kafka环境,并且在8080端口提供kafka-ui管理界面。 version: '2.1' services: zoo1: image: confluentinc/cp-zookeeper:7.3.2 hostname: zoo1 container_name: zoo1 ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_SERVER_ID: 1 ZOOKEEPER_SERVERS: zoo1:2888:3888 kafka1: image: confluentinc/cp-kafka:7.3.2 hostname: kafka1 container_name: kafka1 ports: - "9092:9092" - "29092:29092" - "9999:9999" environment: KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka1:19092,EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092,DOCKER://host.docker.internal:29092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181" KAFKA_BROKER_ID: 1 KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO" KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_JMX_PORT: 9999 KAFKA_JMX_HOSTNAME: ${DOCKER_HOST_IP:-127.0.0.1} KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" depends_on: - zoo1 kafka-ui: container_name: kafka-ui image: provectuslabs/kafka-ui:latest ports: - 8080:8080 depends_on: - kafka1 environment: DYNAMIC_CONFIG_ENABLED: "

【保姆级介绍npm常用命令】

🔥🔥🔥🔥🔥程序员不想YY啊🔥🔥🔥🔥🔥 🌈希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! ❤️点赞 👍 收藏 ⭐再看 💫养成习惯 npm常用命令 npm(Node Package Manager)是JavaScript编程语言的包管理器,用于安装、共享和管理依赖关系中的Node.js包。 以下是npm的一些常用命令及其说明: npm init 初始化一个新的Node.js项目。运行后会引导你创建一个package.json文件,该文件包含了项目的元数据。 npm install 或 npm i 用来安装项目依赖。如果在命令后面没有跟包名,则安装package.json中列出的所有依赖项。npm install <package_name>会安装指定的包,并在不提供--save-prod,--save-dev 或 --save-optional标志时,默认将其添加到dependencies中。 npm install <package_name> --save-dev 或 npm i <package_name> -D 安装一个包作为开发依赖(devDependencies),通常这些是仅在开发过程中需要的工具。 npm install <package_name> --save-optional 或 npm i <package_name> -O 安装一个包作为可选依赖(optionalDependencies)。 npm install -g <package_name> 全局安装一个包。这样就可以在命令行中直接使用该包提供的命令,而不必在每个项目中单独安装。 npm update <package_name> 更新指定的包到最新版本。 npm uninstall <package_name> 卸载已安装的包。 npm run <script> 运行package.json文件中scripts属性下定义的脚本。 npm list 列出已安装的包和他们的依赖。 npm list -g --depth=0

代码随想录阅读笔记-栈与队列【删除字符串中的所有相邻重复项】

题目 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。 提示: 1 <= S.length <= 20000S 仅由小写英文字母组成。 思路 本题也是用栈来解决的经典题目。 那么栈里应该放的是什么元素呢? 我们在删除相邻重复项的时候,其实就是要知道当前遍历的这个元素,我们在前一位是不是遍历过一样数值的元素,那么如何记录前面遍历过的元素呢? 所以就是用栈来存放,那么栈的目的,就是存放遍历过的元素,当遍历当前的这个元素的时候,去栈里看一下我们是不是遍历过相同数值的相邻元素。 然后再去做对应的消除操作。 如动画所示: 从栈中弹出剩余元素,此时是字符串ac,因为从栈里弹出的元素是倒序的,所以再对字符串进行反转一下,就得到了最终的结果。 C++代码 : class Solution { public: string removeDuplicates(string S) { stack<char> st; for (char s : S) { if (st.empty() || s != st.top()) { st.push(s); } else { st.pop(); // s 与 st.top()相等的情况 } } string result = "

基于SSM+Jsp+ sqlserver的学校访客登记系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:sqlserver数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 系统首页 校园公告 留言板 家庭来访 教职工登记 员工管理 摘要 在学生的在校期间的校园的安全管理方面学校的管理人员也尤为的重视,确保学生在校期间的生命安全和生活安全。许多的高校都在实行学校的访客登记管理,在另一方面是在确保学生在校期间的校园安全,避免一些不确定因素对学生生命安全造成威胁 在学校的管理方面之中,伴随着计算机行业和软件行业的快速的发展,许多的校园的管理模式和类型也在伴随着信息化的发展而发生着巨大的变化和改革。一些信息化的校园管理系统也在许多的校园的管理之中盛行和投入使用,通过信息化的管理模式和理念,实现高校都具特色的信息化的教育模式。 研究背景 在之前的校园访客管理之中,流程太过于的繁琐和耗费太多的人力与物力,在管理过程之中存在着许多的弊端和不足。通过信息化的访客管理平台和管理网站的使用,学校的相关的工作人员可以在第一时间进行对访客信息的管理,节约了人力与物力的支出,简化了访客管理的流程,而且在此过程之中用户的信息也得到了更加安全的保护,相对于之前的校园访客管理的模式和流程,大大的简化和方便了对于一些外来的人员的管理流程与过程。之前的校园的访客管理模式通过纸质记录登记的模式,信息化的校园访客登记模式实现了校园访客管理的信息化的发展和教育行业的巨大的变革和进步。通过这种信息模式更加的促进了教育行业的发展,进一步的简化其工作流程,更加安全的保护用户的信息。 关键技术 JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html)。 JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。 在当下的编程数据库之中,SQL server数据库是当下使用人群最广最为安全便捷的一款关系型数据库。而且SQL server数据库代码是开源的,用户可以随时查看数据库的代码。SQL server数据库还是一款完全免费的关联型数据库,它把数据存储在不同的表中,通过每个表中的主键进行关联,这样提高了数据调出和使用的速度也在一定的方面提高了数据的灵活性。SQL server数据库具有更好的兼容性,在不同的操作系统之中都可以完美的使用。SQL server数据库具有体积小、速度快和成本低的优点,它还可以同时处理成千上万条数据,所以深受用户的喜爱。 SSM框架技术也是基于JAVA技术而衍生出的一个基于MVC三层结构开发的框架技术。该技术中包含了spring框架技术和mybatis框架技术。Spring技术可以自动的完成对新对象的控制反转,能够通过自动的命令调整来协助开发人员提升开发的效率。该技术也被称之为是文件配置、参数调整之中的粘合剂。而springMVC则是spring的一个部分,该技术可以通过匹配控制来实现项目的拦截和项目请求的通过。Mybatis则是通过良好的封装应用特点来实现系统与数据库信息交互中的命令控制,提高整个开发系统与数据库之间的命令。 B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。 系统分析 系统设计 功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。 系统实现 进行系统主要功能模块的界面展示。 在校园公告信息界面之中会实时的展示最新的校园的公告信息,用户通过点击固定的标题可以在线的了解此公告的详细的内容介绍。在留言板的功能操作界面之中用户可以通过本功能操作实现对本系统或者是自己的操作体验的一个反馈操作,管理员用户也会在第一时间针对用户反馈回的意见和建议进行及时的纠正和实时的反馈等操作。在家庭来访申请界面之中,学生用户可以在线的进行来访申请的操作,通过登记与来访人的关系、人数、电话、事由、来访时间、离开的时间和备注等信息实现其家庭来访申请操作,管理员也会在第一时间对于学生反馈的来访申请做出及时的审核等操作。员工用户可以对教职工的登记进行实时的管理操作。其中通过输入教职工的姓名和身份证号等信息实现对特定的教职工的精确的查询操作。也可以在线的对教职工的来访信息实时的管理操作。 系统测试 每一个系统或者程序在编写完成之后都要进行一部最为重要的工作,那就是系统的测试。在系统的测试的过程之中可以发现很多在程序编写之初灭有考虑到的问题和一些不合理的功能设计。其系统的测试就是在模拟用户的使用的过程,通过模拟用户的设用过程从中发现问题并改正问题。 结论 在完成课题的调研工作之后我就开始了程序的前期的编写工作,首先一个软件的编写之初,首先要有一个完善的缜密的一个系统的框架结构,在处理用户发送来的用户请求时可以完美的解决并且完美的反馈给用户。再然后就是一个数据库的设计。数据库的设计是一个软件或者是系统是否可以完美运行和功能是否可以完美实现的根本,而且数据库的设计还关乎着用户数据和系统数据安全性 的一个保障。所以数据库的设计是重中之重。在完成这些设计之后才可进行详细的功能结构的设计工作。

知攻善防应急靶场-Linux(1)

前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全应急响应和知攻善防实验室靶场,记录自己的学习过程,还希望各位博主 师傅 大佬 勿喷,还希望大家指出错误 靶场前言: 前景需要:小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!! 靶场要求: 1.攻击者IP地址 2.三个flag(flag格式flag{xxxxx}) 过程 : 1.攻击者IP地址: 这个来说比较好找 方法很多 首先查看本机IP得到为 192.168.122.1 ifconfig 我们使用lastb指令进行查看用户登入错误的登入列表 lastb 可以发现 ip 192.168.85.129 进行多次ssh登入,我们再使用 cat /var/log/secure 指令可以记录大多数的账号密码 以及登入成功与否 cat /var/log/secure 发现该 192.168.75.129 成功登入本机 我们可以继续查看有没有其他的 ip进行登入 查询有哪些IP在爆破命令: grep "Failed password" /var/log/secure |grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c 发现只有这个IP 统计登录成功的IP有哪些?命令: grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more 查询管理员最近登录情况命令 grep "

go的限流

背景 服务请求下游,oom,排查下来发现是一个下游组件qps陡增导致 但是司内网络框架比较挫,竟然不负责框架内存问题(有内存管理模块,但逻辑又是无限制使用内存) 每个请求一个r、w buffer,请求无限制,内存不够直接就oom,然后就被linux给迁移掉了 所以才有了加限流的必要性(粉饰太平) 所以站在更高维度去考虑这个问题,就变成了一个网络框架是否要去管理内存? 作用 限制请求速率,保护服务,以免服务过载 常用的限流方法 固定窗口、滑动窗口、漏桶、令牌桶 令牌桶: 一个固定大小的桶,系统会以恒定速率向桶中放 Token,桶满则暂时不放 如果桶中有剩余 Token 就可以一直取,如果没有剩余 Token,则需要等到桶中被放置 Token/直接返回失败 本次学习令牌 golang.org/x/time/rate 代码实现 // A Limiter controls how frequently events are allowed to happen. // Limiter 用来限制发生事件的频率 // // It implements a "token bucket" of size b, initially full and refilled // at rate r tokens per second. // 初始的时候满的,然后以每秒r tokens的速率来填充,bucket大小为b // // Informally, in any large enough time interval, the Limiter limits the // rate to r tokens per second, with a maximum burst size of b events.

控制台报错invalid comparison: java.util.Date and java.lang.String

一、错误原因: 2、原因及解决方式 找到mybatis的xml文件,发现只有这两个字段是日期类型,仔细想了一下,那八成就是日期类型Date不能进行字符串Date != ""判断,只进行Date != null判断即可! <if test="bean.joinTime != null and bean.joinTime != ''">join_time= #{bean.joinTime},</if> <if test="bean.lastLoginTime != null and bean.lastLoginTime != ''">last_login_time=#{bean.lastLoginTime},</if> 修改判读方式去掉!='' <if test="bean.joinTime != null">join_time= #{bean.joinTime},</if> <if test="bean.lastLoginTime != null">last_login_time=#{bean.lastLoginTime},</if>

【WPF应用11】如何对StackPanel中的控件进行间距设置?

在WPF中,堆叠面板(StackPanel)是一个常用的布局控件,它允许您将子控件垂直或水平堆叠起来。在设计用户界面时,合理的间距设置可以提高界面的美观性和易用性。本文将介绍如何在StackPanel控件中设置控件之间的间距,以及如何使用Grid布局控件在X轴和Y轴上设置间距。 1、在StackPanel中设置控件间距 1.1 使用Spacing属性 在StackPanel中,您可以直接设置Spacing属性来为控件之间添加间距。这个属性接受一个Thickness值,它可以设置水平和垂直方向上的间距。 <StackPanel Orientation="Horizontal" Spacing="10"> <Button Content="按钮1" Width="75" Height="30" /> <Button Content="按钮2" Width="75" Height="30" /> <Button Content="按钮3" Width="75" Height="30" /> </StackPanel> 在上面的例子中,所有堆叠的控件之间将有10个单位的间距。 1.2 使用Margin属性 除了使用Spacing属性,您还可以为单个控件设置Margin属性来添加间距。Margin属性接受一个Thickness值,它可以设置控件四周的间距。 <StackPanel Orientation="Horizontal"> <Button Content="按钮1" Width="75" Height="30" Margin="5,0,5,0" /> <Button Content="按钮2" Width="75" Height="30" Margin="5,0,5,0" /> <Button Content="按钮3" Width="75" Height="30" Margin="5,0,5,0" /> </StackPanel> 在上面的例子中,每个按钮的左右边距被设置为5个单位,从而实现了控件之间的间距。 1.3 使用代码设置间距 您还可以通过代码来设置StackPanel控件的Spacing属性或单个控件的Margin属性。 StackPanel stackPanel = new StackPanel(); stackPanel.Orientation = Orientation.Horizontal; stackPanel.Spacing = new Thickness(10); Button button1 = new Button(); button1.

Vscode按键占用问题解决

Vscode按键占用 在使用vscode的过程中,官方按键 Ctrl + . 按键可以提示修复代码中的问题,但是发现按了没有反应。 解决问题 首先确认vscode中是否设置了这个按键,默认设置了的系统输入法中是否有按键冲突了,打开输入法设置检查 发现和标点切换冲突了,关闭标点切换,解决问题

Portainer的安装(docker)

官网:https://www.portainer.io/(opens new window)介绍:在任何数据中心、云、网络边缘或 IIOT 设备的 Kubernetes、Docker、Swarm 和 Nomad 上,在几分钟内部署、配置、故障排除和保护容器。 1.拉取最新的 Portainer,并启动 # 拉取镜像 docker pull portainer/portainer # 启动 docker run -d --restart=always --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer 2.访问 Portainer 地址:http:// 你的IP:9000/操作:登录后设置你的用户名和密码,并设置本地Docker即可,设置完成后,如下 命令 docker run -d \ -p 9001:9001 \ --name portainer_agent \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/lib/docker/volumes:/var/lib/docker/volumes \ portainer/agent:2.16.2 大功告成

【数据分享】2012-2023年全球范围逐年NPP/VIIRS夜间灯光数据

夜间灯光数据是我们在各项研究中经常使用的数据!本次我们给大家分享的是2012-2023年全球范围的逐年的NPP/VIIRS夜间灯光数据,数据格式为栅格格式(.tif)。该数据来自于NCEI国家环境信息中心,近期该网站更新了2023年的夜间灯光数据,数据也会继续更新,大家可以持续关注。 大家可以自行下载该数据,下载方式见下文!不过该数据数据量非常大(450G),下载很慢,且需要科学上网!大家如果不想自己下载,可以在公众号回复关键词 172 按转发要求获取我们下载好的数据!以下为数据的详细介绍: 一.数据来源 美国国家海洋大气管理局NOAA下属的NCEI国家环境信息中心Earth Observation Group。 二.文件解释 每个年份的数据由9个压缩包构成,每个压缩包的文件名由7个字段构成,字段由下划线“ _”分隔,字段的具体意思为: 字段1:VNL_v2,表示年度VNL产品的第二个版本(目前最新版本为v2.2) 字段2:npp,表示卫星名称“ npp” 字段3:2021,表示具体年度。其中2012年有两组,分别为201204 - 201212与201204 - 201303,前者在一年内,后者可作为一个完整的年度。 字段4:global,表示全球。 字段5:vcmcfg,设定简称。 字段6:c202101211500,时间戳 字段7:average(平均值)、maximum(最大值)、minimum(最小值)、median(中位数)、average-masked、median-masked、cf_cvg、cvg、lit_mask 三.数据单位 nW/cm2/sr 四.数据坐标系 WGS1984地理坐标系 五.数据预览 我们以2013年度中国上海区域的的平均值夜光数据为例,预览一下: 珠三角地区2013年的夜间灯光数据 五.自行下载的方式 打开网址(https://eogdata.mines.edu/products/vnl/)后,按照下面截图里面的方式下载!注意需要科学上网! 数据获取方式

二叉树|617.合并二叉树

力扣题目链接 class Solution { public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if (t1 == NULL) return t2; if (t2 == NULL) return t1; // 重新定义新的节点,不修改原有两个树的结构 TreeNode* root = new TreeNode(0); root->val = t1->val + t2->val; root->left = mergeTrees(t1->left, t2->left); root->right = mergeTrees(t1->right, t2->right); return root; } }; 这题就把两个二叉树节点相加就好了。 代码随想录 (programmercarl.com) 递归 二叉树使用递归,就要想使用前中后哪种遍历方式? 本题使用哪种遍历都是可以的! 我们下面以前序遍历为例。 动画如下: 那么我们来按照递归三部曲来解决: 确定递归函数的参数和返回值: 首先要合入两个二叉树,那么参数至少是要传入两个二叉树的根节点,返回值就是合并之后二叉树的根节点。 代码如下: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { 确定终止条件: 因为是传入了两个树,那么就有两个树遍历的节点t1 和 t2,如果t1 == NULL 了,两个树合并就应该是 t2 了(如果t2也为NULL也无所谓,合并之后就是NULL)。

浮点数在计算机中的表示

浮点数在计算机中的表示 float单精度浮点数的存储格式 符号位 8bit阶码,偏移量127 23bit尾数 符号位:0正1符,注意计算机中都用补码表示 阶码:记得+127偏移量 2 7 − 1 = 0 1111111 ⏟ 7 个 1 2^7-1=0 \underbrace{1111111}_{7个1} 27−1=07个1 1111111​​ 尾数:共23位,末尾补零 10进制->float步骤 规格化:将 112.5 D − > 1.1100001 × 2 6 112.5D->1.1100001 \times 2^6 112.5D−>1.1100001×26,即 符号位 . 尾 数 阶码 符号位.尾数^{阶码} 符号位.尾数阶码求阶码:阶码 = 阶码+127偏移量, 即 6 + 127 = 10000101 B 6+127=10000101B 6+127=10000101B补全尾数 double双精度浮点数的存储格式 符号位 11bit阶码,偏移量1023 52bit尾数 符号位:0正1符,注意计算机中都用补码表示 阶码:记得+1023偏移量 2 10 − 1 = 0 1111111111 ⏟ 10 个 1 2^{10}-1=0 \underbrace{1111111111}_{10个1} 210−1=010个1 1111111111​​

【力扣】26.删除有序数组中的重复项、80.删除有序数组中的重复项Ⅱ

26.删除有序数组中的重复项 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。 判题标准: 系统会用下面的代码来测试你的题解: int[] nums = […]; // 输入数组 int[] expectedNums = […]; // 长度正确的期望答案 int k = removeDuplicates(nums); // 调用 assert k == expectedNums.length; for (int i = 0; i < k; i++) {

网络探测工具Nmap介绍

1. Nmap简介 Nmap是一款用于网络发现和安全审计的网络安全工具。可用于列举网络主机清单、管理服务升级调度、监控主机、监控主机服务运行状况、检测目标主机是否在线和端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等。 2. 命令大纲 3. 命令详细介绍 3.1 端口扫描(Port Scanning) 检测目标主机上各个端口的状态(开放、关闭、过滤等)。支持多种扫描技术,如TCP SYN扫描、TCP Connect扫描、ACK扫描、UDP扫描、FIN扫描、IDLE扫描等。 3.1.1 TCP SYN扫描(半开放扫描) 命令:nmap -sS 192.168.206.140 或者 nmap 192.168.206.140这种扫描方式通常用于不建立完整连接的情况下探测目标主机的TCP端口状态,避免了完整的三次握手过程,因此更隐蔽。默认就是TCP SYN扫描。 我这里扫描虚拟机可用端口,可以看到扫描到了三个开放端口。 以80端口为例,通过抓包可以看到,TCP SYN扫描,只要对端回复了ACK就认为端口是开放状态,不用建立三次握手。 3.1.2 TCP Connect扫描 命令:nmap -sT 192.168.206.140TCP Connect扫描会完成三次握手以确定端口是否开放。虽然这种方法相对慢且可能更容易被检测到,但其结果最可靠。 同样扫描到了三个开放端口 抓包可以看到,TCP Connect扫描必须完成三次握手才认为端口是开放状态。 3.1.3 UDP扫描 命令:nmap -sU 192.168.206.140扫描开放的UDP端口 抓包可以看到UDP扫描时的数据包。 3.1.4 端口服务及版本扫描 命令:namp -sV 192.168.206.140可以扫描到端口对应的服务及版本信息 可以看到,扫描的22端口是OpenSSH服务,80和8011是Nginx服务。 3.1.5 详细信息扫描 命令:namp -vv 192.168.206.140提供更详尽的扫描过程信息和结果反馈。这包括了更多的调试信息、每个步骤的详细说明以及可能影响扫描行为的内部决策等。 可以比对下,详细扫描的结果 3.1.6 所有信息扫描 命令:nmap -A 192.168.206.140这样扫描的更加详细,并且还会扫描出路由信息 我扫描的虚拟机地址,因此这里是直连。 扫描百度可以看到,经过了好几个路由。 3.1.7 随机扫描和延时扫描 命令:nmap --randomize-hosts --scan-delay 5 192.168.206.140有时候扫描太快,可能会触发主机的防火墙,因此可以延时扫描,5代表延时5秒 3.1.8 指定端口扫描 扫描指定端口:nmap 192.