一切福田,不離方寸,從心而覓,感無不通。

Linux 内核曝 TCP 漏洞,极小流量就可以 DoS 瘫痪设备

卡内基梅隆大学的 CERT/CC 发出警告,称 Linux 内核 4.9 及更高版本中有一个 TCP 漏洞,该漏洞可使攻击者通过极小流量对系统发动 DoS (Denial-of-Service,拒绝服务)攻击。 该漏洞是由诺基亚贝尔实验室支持的芬兰阿尔托大学网络部门的 Juha-Matti Tilli 发现的,目前已经被编号为 CVE-2018-5390,并且被 Red Hat 称为“SegmentSmack”。 CERT/CC 指出,由于漏洞,新版本 Linux 内核可能被迫对每个传入的数据包进行非常消耗资源的 tcp_collapse_ofo_queue()和 tcp_prune_ofo_queue()调用,这会导致受影响的系统上 CPU 变得饱和,从而产生 DoS 条件。 远程攻击者可以以相对较小的传入网络流量带宽通过在正在进行的 TCP 会话中发送特别修改的数据包来导致 DoS。“在最糟糕的情况下,攻击者可以仅使用小于 2kpps (每秒 2000 个数据包)的攻击流量让被害主机瘫痪”,Red Hat 解释到:“四个流的攻击结果可能看起来像是四个 CPU 内核完全饱和,并且网络数据包处理被延迟。” CERT/CC 列出了许多可能受到影响的网络设备供应商、PC 和服务器制造商、移动供应商和操作系统制造商(具体列表),鉴于 Linux 的广泛使用,该漏洞的影响范围很大,包括从亚马逊和 Apple 到 Ubuntu 和 ZyXEL 的每个供应商。目前已确认受影响的 Red Hat 系统包括 RHEL 6 和 7、RHEL 7 for Real Time、RHEL 7 for ARM64、RHEL 7 for IBM POWER 和 RHEL Atomic Host。 Red Hat 表示,对于管理员来说,除了等待内核修复,目前还没有有效的解决方法或缓解措施。   from:https://www.oschina.net/news/98791/linux-kernel-bug-leads-tiny-dos-attack

龙生   09 Aug 2018
View Details

如何运行jnlp文件

运行DOS命令: C:\Users\thinkpad>javaws D:\***.jnlp 如提示“应用程序已被java安全阻止”则进入控制面板-》Java  打开java控制面板,在安全选项卡中设置例外站点即可。   from:https://www.cnblogs.com/101key/p/6478395.html

龙生   08 Aug 2018
View Details

WinRAR的命令行模式用法介绍

因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下: 测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一些*.log和*.txt文件。   测试代码如下:

以上为winrar的基本压缩,解压命令。 关于winrar 的开关选项,以后有空再研究整理。   备注:WinRAR.exe为安装完后,从安装目录将主程序winRAR.exe拷贝出来即可,该程序是独立可运行的。 以下为winRAR的命令帮助原文: Alphabetic commands list a add files to an archive c add an archive comment ch change archive parameters cv convert archives cw write an archive comment to file d delete files from an archive e extract files from an archive, ignoring paths f freshen files within an archive i find string in archives k lock an archive m move files and folders to an archive r repair a damaged archive rc reconstruct missing volumes rn rename archived […]

龙生   08 Aug 2018
View Details

批处理命令教学之if语句

if用于条件判断,适用于以下情形: 1、判断驱动器、文件或文件夹是否存在,用 if exist 语句; 2、判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句; 3、判断某两个数值是否相等,用 if 数值1 equ 数值2 语句; 4、判断某个变量是否已经被赋值,用 if defined str 语句; if语句的完整格式是这样的:if 条件表达式 (语句1) else (语句2),它的含义是:如果条件表达式成立,那么,就执行语句1,否则,将执行语句2。 对于以上四种情形,可以分别使用如下代码: 1、if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt) 2、if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz) 3、if 1 equ 2 (echo 1等于2) else (echo 1不等于2) 4、if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空) 判断字符串是否相等的时候,if会区分大小写,比如,单纯的if语句会认为字符串abc和字符串Abc不相同,若不想区分大小写,则需要添加 /i 开关,使用 if /i "字符串1"=="字符串2" 的格式;另外,等于符号是连续的"=="而非单独的"="。 判断两个数值之间的大小关系,除了等于用equ之外,还有其他的关系符号,所有适用于if语句的关系符号见下表: 中文含义 关系符 英文解释 等于 equ equal 大于 gtr greater than 大于或等于 geq greater than or equal 小于 lss less than 小于或不等于 leq […]

龙生   08 Aug 2018
View Details

windows bat(批处理):IF详解

1. IF & IF not if 和 if not 有都有3中形势: IF [NOT] ERRORLEVEL number do command IF [NOT] string1==string2 do command IF [NOT] EXIST filename do command NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。 ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true. string1==string2 如果指定的文字字符串匹配,指定条件为 true. EXIST filename 如果指定的文件名存在,指定条件为 true. command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。 1.1 IF [NOT] string1==string2 do command 注意是 string, 同时要保持string1 和string2 的格式相同 如: [python] if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 1.2 IF [NOT] EXIST filename do command 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如 [python] 1. if exist […]

龙生   08 Aug 2018
View Details

使用jenkins进行项目的自动构建部署

jenkins 简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目和监控外部调用执行的工作。 官网地址地址: https://jenkins.io 下载安装启动 CentOS 下用yum进行安装启动

下载war包放到tomcat中启动 服务器 yum 安装速度太慢了,最终我选择了这种方式,本地下载好war包传到服务器上的tomcat容器下,然后启动 下载地址:http://mirrors.jenkins.io/war-stable/latest/jenkins.war 初始化 在浏览器中输入url打开jenkins的后台控制页面 初始化界面 初始化成功后会自动生成一个管理员密码放到指定位置,根据页面提示复制密码粘贴到输入框就可以登录了 初始登录界面 登录成功后回让你选择插件的安装,可以选择建议的安装也可以自己进行选择,不清楚的话可以使用建议的安装 初始登录界面 由于建议安装的插件比较多,安装的过程有点慢,多等待一会 初始登录界面 安装的过程也可能因为网络等一些原因安装会失败,现在可以无视它,点击Continue,后面再进行手动的安装 安装完成 安装完成后最好新创建一个管理员账户代替之前的临时自动生成的密码账户 创建新的管理员账户 初始化完成,进入后台管理界面 初始化完成 后台管理界面 安装插件 之前初始化的时候,有些插件安装失败,可以在用到的时候来手动修复它,没用到的话就可以暂且不理它,不影响jenkins的使用 点击左侧边栏的“系统管理”,就可以看了插件安装的一些错误信息 插件错误信息 在“系统管理”中往下拉,找到“管理插件”点击进去就可以查看和管理所有的插件,点击“可选插件”显示所有jenkins支持的插件,在右上角的“过滤”输入框中,输入需要安装的插件名就可以筛选查找到想要的插件 查找插件 选中要安装的插件输入框,点击安装就可以在线安装需要的插件,当然由于网络的原因也可能再次安装错误,或者安装的比较慢。我们可以点击插件名进入插件的主页,里面有该插件的详细信息并能下载hpi文件进行手动安装 插件详情 在“管理插件”的页面中点击高级选项,我们可以在下面找到“上传插件”,上传下载好的插件,点击“上传”,系统就会自动上传安装该插件。 上传插件 gitlab的配置 集成gitlab,让jenkins能够直接读取修改gitlab中的代码,方便项目的构建 安装gitlab-plugin 在“系统管理” -> “系统设置“ -> “Gitlab” 中配置对应的gitlab信息 点击“Test Connection”测试下配置是否成功 Gitlab配置 Add Gitlab Credentials Gitlab API token Publish Over SSH 通过ssh连接远程服务器,并能执行脚本部署项目 安装publish-over-ssh 在“系统管理” -> “系统设置“ -> “Publish over SSH” 中配置对应的ssh信息 Key中填登录远程服务器的密码(ssh免密码登录) 点击"SSH Servers"后的“增加”按钮,新增一个远程服务器 点开“高级…”按钮,能进一步的配置端口等信息。 配置为Server信息后,点击"Test Configuration"按钮测试是否能够连接成功。 ssh配置 监测代码变动自动部署 点击左侧边栏的“新建”按钮,新建一个任务。 填写项目的名称,并选择一种构建的方式,此时我们选择第一个,构建一个自由风格的软件项目,然后点击“OK”按钮创建任务,并进行详细的配置 新建任务 默认设置里填写项目名和描述,并选择之前配置好的要连接的gitlab 默认配置 配置源码,填写要构建项目的源码仓库地址,并指定要构建的分支 配置源码 配置触发器,选择触发构建的方式,可以通过hook,根据jenkins提供的地址,放到gitlab中的hook配置中,就会自动触发构建。此时我们选择的是定时检测项目变动,如果检测到分支有新的变动就触发构建,如果感觉一分钟时间太频繁的话,可以自己设置时间频率。 构建触发器 […]

龙生   08 Aug 2018
View Details

批处理设置b等于一个变量数字%a%+1的数字咋写?

@echo off set a=10 set/a b=a+1 echo %b% pause :: 批处理运算的时候是使用 set/a 参数 :: 在set/a运算的时候,变量可不用使用%%括起来 :: 如: set/a b=a+1 等价于 set/a b=%a%+1 :: 中国批处理脚本联盟 from:https://zhidao.baidu.com/question/1433860877199267859.html

龙生   08 Aug 2018
View Details

为 Jenkins 配置 .NET 持续集成环境

去年年底,得益于公司引入 Jenkins,让我们在持续集成方面迈出了第一步,本文不赘述如何安装 Jenkins,主要关注点在于配置 .Net 环境。另外本文是在 Windows 环境下安装的 Jenkins 进行操作。 一、安装环境 首先我们需要先准备几个安装包,将它们安装到 Windows 上: .NET Framework 4.6.1 https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 Microsoft Build Tools 2015 https://www.microsoft.com/zh-CN/download/details.aspx?id=48159 .NET Framework 4.6.1 Developer Pack https://www.microsoft.com/zh-CN/download/details.aspx?id=49978 NuGet x86 Commandline https://dist.nuget.org/index.html         第一个当然是大家熟悉的 .NET Framework 运行环境了; 第二是 MSBuild,虽然平时我们使用 Visual Studio 都是图形界面编译、发布程序,但实际上 Visual Studio 是去调用 MSBuild 来进行各种操作的,所以我们要想让 Jenkins 也能自动编译代码,也要为它准备一套 MSBuild。 第三个包为 .NET Framework 4.6.1 开发人员包(Developer Pack),在过去称为 Targeting Pack,里面包含了一堆程序集。像是早期版本的 Visual Studio 2013,发布之时并没有 .NET Framework 4.6.1,要想让它支持就需要安装这个开发人员包。如果不安装的话,后期编译 4.6.1 的程序时会提示找不到 System.Object、System.Attribute 程序集的错误。4.6.1 的开发人员包包含了 4.0、4.5、4.6 Targeting Pack 的内容,安装 4.6.1 的包就不需要安装 4.0 其他版本的包了。另外如果需要中文支持,需要先安装英文版,再安装中文语言包。 最后一项为 NuGet 的控制台程序,在编译程序之前,先需要使用 NuGet 进行包还原。这个软件不需要安装,放在一个固定的位置就行,例如放在 D:\Tools\CI 下。   二、安装 Jenkins 插件 进入 […]

龙生   07 Aug 2018
View Details

持续集成~Jenkins里的NuGet和MSBuild插件

博主的博客Head很有意思,截图下来,分享给大家: Jenkins是一个持续集成的环境,它是java开发的,大叔认为它的工作流程是 从源代码拉一个项目下来到它本地(可以配置定时机制) 恢复相关程序包nuget 编译程序 发布程序 现在说一下在配置jenkins里要注意的几个地方: jenkins的构建工作目录和job目录说明 构建目录:C:\Program Files (x86)\Jenkins\workspace 工作目录:构建目录\任务job名称 nuget插件安装 插件管理-添加nuget 因为在工作时,你的目录为程序的sln所在目录,所以直接添加构建脚本nuget restore即可,因为当前目录就是你需要的项目目录! msbuild插件的安装 系统插件-msbuild 全局配置-配置你电脑上msbuild.exe的路径 在你的nuget构建下面,添加这个msbuild块

这两部完成后,你就可以“立即构建”你的项目了,它会从源代码服务器上拉最新代码,然后到工作目录,去nuget恢复包,build编译包包! 这个资料希望可以帮到刚学jenkins的学生!   from:https://www.cnblogs.com/lori/archive/2017/07/06/7126895.html

龙生   07 Aug 2018
View Details

[2]jenkins部署.net平台自动化构建

在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便。gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline实现全脚本化配置(everything is code,哈哈)。我们这里主要讲述jenkins的自动化部署。 基本组合是jenkins+git+msbuild+python,实现从代码仓库拉取、编译、打包、部署、自动化测试。(.net core和framework4.6.1可以不依赖msbuild构建,将在下一篇文章中讲述) 一、安装环境 1.jenkins是java生态圈的产品,需要安装jdk 2..net项目依赖.net framework,安装需要的framework版本(如framework4.5.1) 3.安装构建工具msbuild 4.安装nuget 5.安装jenkins 二、配置jenkins 1.安装好jenkins后,进入“系统管理”->“插件管理”,安装git和msbuild这两款插件。     2.安装好插件后,新建一个项目,选择“构建一个自由风格的软件项目”,然后点确定。   3.源码管理选择git。     4.添加构建步骤,构建一个项目   5.项目需要nuget获取程序包的,可以使用批处理来实现,继续添加构建步骤:   6.nuget restore  命令获取项目需要程序包   Rebulid:构建 Configuratiom = Release:按release打包 DeployOnBuild = true/false:是否打包 PublishProfile=pub100:pub100是VS打包的配置文件   注意:这里的Msbuild Version选择了vs2017里的,jenkins插件库中的msbuild版本太低,编译经常出错,最简单的做法就是安装VS,然后在“系统管理”->“全局工具配置”中配置VS工具中的msbuild路径         7.构建触发器,jenkins提供定时构建及轮询机制。轮询是设置一段时间间隔,去代码仓库检测是否有更新,有更新触发构建。     8.保存,选择“立即构建”       9.构建成功   10.控制台日志   部署服务器和自动化测试都由python实现,感兴趣的可以看我另外一篇文章。   from:https://www.cnblogs.com/shenh/p/8946404.html

龙生   07 Aug 2018
View Details