精华内容
下载资源
问答
  • 1. 概述 自从我们发布了《如何离线浏览全国7137GB海量谷歌卫星离线...但之后又收到用户新的疑问反馈,那就是如何验证全国数据下载的完整性?今天我们就针对这一问题,为大家说明如何检查全国离线谷歌卫星地图缓存...

    1. 概述

    自从我们发布了《如何离线浏览全国7137GB海量谷歌卫星离线影像》一文后,很多用户都在问下载海量数据的具体方法,为了解决大家的困惑,于是又分别发布了《如何一次性下载全国谷歌卫星影像地图数据的方法》和《如何一次性下载谷歌地球的全球高程DEM数据》两篇教程。但之后又收到用户新的疑问反馈,那就是如何验证全国数据下载的完整性?今天我们就针对这一问题,为大家说明如何检查全国离线谷歌卫星地图缓存文件的完整性的。

    2. 全国地图数据v2.0

    在讲如何生成全国数据接图表之前,我们先来看一看水经注现有的"全国地图数据v2.0"中都有哪些内容?了解水经注全国地图数据的用户一定会发现,现有的"全国地图数据v2.0"在全国卫星影像地图的基础上新增了33.8GB的全国谷歌地球高程数据,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    在"卫星影像_中国_接图表"目录,我们可以看到全国离线谷歌卫星地图缓存文件的接图表相关文件,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    双击接图表目录中的"中国_数据接图表_Global Mapper工程文件.gmw"即可在Global Mapper中打开查看接图表。

    那么这个全国数据的接图表是怎么生成的呢?请继续往下看!

    3. 如何生成全国卫星影像离线数据接图表

    上面我们提到了,现有的"全国地图数据v2.0"中已经包括了接图表,接下来我们来讲解一下该接图表的生成方法。

    打开"工具\水经注DAT文件接图表生成工具"目录,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    说明:该工具只是附在"全国地图数据"硬盘中的一个临时性小工具,有需要的用户可以联系客服人员免费获取,以后该接图表生成功能将会集成到水经注软件产品中。

    双击"水经注DAT文件接图表生成工具.exe"启动接图表生成工具,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

    接图表生成工具界面

    在接图表生成工具中的"输入目录"填写DAT文件所在路径,在"结合表输出"目录填写接图表生成结果路径,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

    路径设置

    相关路径设置完成之后,点击"生成"按钮可以开始生成接图表,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    生成完成之后,会将接图表保存为SHP文件,并会生成结果报告。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    为了更好地检查接图表的正确性,需要将下载范围的边界作为参考,比如这里我们就需要将中国的国界作为参考,因此我们将"全球国界"放入到该目录备用,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    4. 如何查看全国数据接图表

    上面讲述了如何生成接图表的全过程,接下来我们讲如何查看全国数据接图表。由于接图表是SHP文件,因此我们需要在ArcGIS或Global Mapper等专业软件中打开查看,这里我们以Global Mapper14.1为例。

    如果你没有安装该软件,请从以下地址查看下载与安装教程:

    http://www.rivermap.cn/help/show-1784.html

    软件启动之后,界面如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    点击"打开数据文件",然后选择接图表和下载范围文件,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    接图表打开后,效果如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    放大可查看中国区域的接图表,效果如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    现在,就可以通过放大缩小的方式来查看接图表,从而可以查看数据文件块的缺失情况了。如果因为Global Mapper显示的默认文字比较大不便于查看接图表编号,我们可以将字体显示设置得更小一些。

    5. 如何设置接图表编号字体大小

    在工具栏上点击"打开控制中心"按钮,可以打开图层控制中心,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    选择两个图层后,点击"选项"按钮,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    在显示的对话框中,点击"区风格"标签后,再点击"所有图元使用同一样式"设置显示风格,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    在显示的"选择区风格"对话框中,点击"选择标签字体",可进行字体设置,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    在显示的"字体"对话框,选择"以固定高度显示字体标签",并将字体高度设置为10000米,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    参数设置完成并确认后,可以看到接图表编号文字变小了,效果如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    可以将接表图放到任何大范围进行查看,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    将接图表缩小到全国范围后的显示效果,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    6. 如何保存接图表为方便查看的工程文件

    上面我们讲了如何查看接图表和设置接图表编号显示字体的大小,但为了将配置参数保存下来方便以后查看,我们可以将该接图表保存为工程文件,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    建议将工程文件保存到接图表文件所在目录,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    在指定的保存目录中,将会看到扩展名为gmw的Global Mapper的工程文件,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    为了方便以后果查看使用,强烈建议用记事本打开gmw文件,并将绝对路径更改为相对路径。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    将绝对路径改成相对路径的好处是,可以将"全国接图表生成结果"这个目录复制到任何地方,只需要打开gmw工程文件就可以查看,修改成相对路径之后的效果如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    建议将Global Mapper工程文件设置为"只读"模式,这样可以避免在Global Mapper中查看接图表时被保存修改为相对路径。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    7. 如何将接图表与卫星影像叠加

    以上讲了接图表的生成了和查看过程,但如果觉得在检查数据接图表时不够直观,还可以将它在水经注软件中打开。这样一来,就可以与在线或离线的卫星影像一起叠加查看,可以更方便地检查数据块的完整性,叠加后的效果如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    通过放大视图,可以查看全部接图表的覆盖分布情况,从而可以检查离线地图数据块的完整性,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    将接图表放到足够大,可以显示查看每一个离线地图数据块的编号,也就是对应文件的名称,如下图所示。

    怎么验证全国离线卫星地图缓存文件的完整性

     

    8. 总结

    以上就是关于如何检查全国离线谷歌卫星地图缓存文件的完整性全部说明,主要包括了接图表的生成、Global Mapper中接图表字体大小的设置、接图表工程文件的保存和接图表与卫星影像叠加等说明。

    展开全文
  • 怎么样能保证资源的完整性,处理办法就是用MD5验证文件完整性。 任何一个字符串或文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息码,...

    在项目的开发资源开发中,测试发现一个问题:将资源上传到服务器上,提示已经上传成功,但是当打开这个文件时发现失败,由于各种原因资源已经毁坏。怎么样能保证资源的完整性,处理办法就是用MD5验证文件的完整性。
    任何一个字符串或文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息码,并且如果这个文件被修改过,它的MD5码也将随之改变。
    Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。注意这里说的是“字节串”而不是“字符串”,因为这种变换只与字节的值有关,与字符集或编码方式无关。
    在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数。然后将此 128 位计 16 个字节转换成 16 进制表示即可。

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
     
    public class TestMD5Two {
             /**
         * 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的文件的正确性用的就是默认的这个组合
         */
        protected static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6',
                '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
     
        protected static MessageDigest messagedigest = null;
        static {
            try {
                messagedigest = MessageDigest.getInstance("MD5");
            } catch (NoSuchAlgorithmException nsaex) {
                System.err.println(TestMD5Two.class.getName()
                        + "初始化失败,MessageDigest不支持MD5Util。");
                nsaex.printStackTrace();
            }
        }
         
        /**
         * 生成字符串的md5校验值
         * 
         * @param s
         * @return
         */
        public static String getMD5String(String s) {
            return getMD5String(s.getBytes());
        }
         
        /**
         * 判断字符串的md5校验码是否与一个已知的md5码相匹配
         * 
         * @param password 要校验的字符串
         * @param md5PwdStr 已知的md5校验码
         * @return
         */
        public static boolean checkPassword(String md5, String md5PwdStr) {
            return md5.equals(md5PwdStr);
        }
         
        /**
         * 生成文件的md5校验值
         * 
         * @param file
         * @return
         * @throws IOException
         */
        public static String getFileMD5String(File file) throws IOException {       
            InputStream fis;
            fis = new FileInputStream(file);
            byte[] buffer = new byte[1024];
            int numRead = 0;
            while ((numRead = fis.read(buffer)) > 0) {
                messagedigest.update(buffer, 0, numRead);
            }
            fis.close();
            return bufferToHex(messagedigest.digest());
        }
     
        public static String getMD5String(byte[] bytes) {
            messagedigest.update(bytes);
            return bufferToHex(messagedigest.digest());
        }
     
        private static String bufferToHex(byte bytes[]) {
            return bufferToHex(bytes, 0, bytes.length);
        }
     
        private static String bufferToHex(byte bytes[], int m, int n) {
            StringBuffer stringbuffer = new StringBuffer(2 * n);
            int k = m + n;
            for (int l = m; l < k; l++) {
                appendHexPair(bytes[l], stringbuffer);
            }
            return stringbuffer.toString();
        }
     
        private static void appendHexPair(byte bt, StringBuffer stringbuffer) {
            char c0 = hexDigits[(bt & 0xf0) >> 4];// 取字节中高 4 位的数字转换, >>> 为逻辑右移,将符号位一起右移,此处未发现两种符号有何不同 
            char c1 = hexDigits[bt & 0xf];// 取字节中低 4 位的数字转换 
            stringbuffer.append(c0);
            stringbuffer.append(c1);
        }
         
        public static void main(String[] args) throws IOException {
            long begin = System.currentTimeMillis();
     
            File file = new File("H:/12345.txt");
            String md5 = getFileMD5String(file);
            
            //文件名不同,内容相同;
            File file2 = new File("H:/12345(2).txt");
            String md52= getFileMD5String(file2);
            
            
            //文件名不同,内容不同;
            File file3 = new File("H:/12345(3).txt");
            String md53= getFileMD5String(file3);
            
          
            //测试压缩包
            File fileZip = new File("H:/1.zip");
            String md5Zip= getFileMD5String(fileZip);
            
            //测试压缩包
            File fileZip2 = new File("H:/2.zip");
            String md5Zip2= getFileMD5String(fileZip2);
               
            System.out.println("MD5:"+md5);
            System.out.println("MD5:"+md52);
            System.out.println("MD5:"+md53);
            System.out.println("MD5:"+md5Zip);
            System.out.println("MD5:"+md5Zip2);
                    System.out.println("两个文件名不同,内同相同"+ checkPassword(md5, md52));
                    System.out.println("文件名不同,内容不同"+ checkPassword(md5, md53));
                    System.out.println("测试压缩包,内容不同"+ checkPassword(md5Zip, md5Zip2));
             
            long end = System.currentTimeMillis();
            System.out.println("md5:" + md5 + " time:" + ((end - begin) / 1000) + "s");
        }
    }
    
    展开全文
  • 这些问题,可以用文件完整性校验工具 CHK来解决,它可以检验文件的哈希值,允许您查看的文件大小、 类型和sha信息,以便检查文件的完整性,支持批量校验 功能特点: 1、验证下载文件的完整性 2、查找和删除电脑中的...
  • 验证数据完整性-MD5算法

    千次阅读 2011-11-15 15:20:50
    [quote]MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。...就是用来验证文件是否一致的。 [/quote...
    [quote]MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文件是否一致的。 [/quote]

    [img]http://security.group.iteye.com/upload/attachment/107368/74b43fdc-8b41-3618-ae71-98fd6bd7ea33.jpg[/img]

    MD5 java实现
      public static String encodeMD5Hex(String data) {
    return DigestUtils.md5Hex(data);
    }


    测试代码
     public void testMD5() throws NoSuchAlgorithmException
    {
    String data = "md5数字签名";
    //可以加入一些混淆值,例如支付宝会给你一个key
    String salt_key = "1d312ye2shd12q12dfsd";
    assertEquals(encodeMD5Hex(data+salt_key), encodeMD5Hex(data+salt_key));

    }


    maven jar 依赖
    <dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.5</version>
    </dependency>
    展开全文
  • 系统完整性可以通过rpm自带的-Va来校验检查所有的rpm软件包,查看哪些命令是否被替换了: ./rpm -Va > rpm.log 如下: 如果一切均校验正常将不会产生任何输出,如果有不一致的地方,就会显示出来,输出格式是8...

    有一些病毒会把自身编译成二进制,然后替换系统软件,非常具有迷惑性。
    在红帽系和Debian系的系统中,都有方法可以快速检查软件是否被替换。原理就是把系统文件的大小、修改日期、权限、哈希等信息与软件仓库中记录的信息比较,找出不同的文件。
    红帽系,CentOS、Fedora等:
    rpm -Va
    Debian系:
    dpkg -V

    如果rpm被替换了,这个就行不通了,另外这技术已经过时了,现在直接改PATH,再用ln重新导向
    以下是详细说明:

    如果是redhat相关系统:

    系统完整性可以通过rpm自带的-Va来校验检查所有的rpm软件包,查看哪些命令是否被替换了:

    ./rpm -Va > rpm.log  
    

    如下:

    如果一切均校验正常将不会产生任何输出,如果有不一致的地方,就会显示出来,输出格式是8位长字符串,每个字符都用以表示文件与RPM数据库中一种属性的比较结果 ,如果是. (点) 则表示测试通过。
    验证内容中的8个信息的具体内容如下:

    标志 介绍
    S 文件大小是否改变
    M 文件的类型或文件的权限(rwx)是否被改变
    5 文件MD5校验是否改变(可以看成文件内容是否改变)
    D 设备中,从代码是否改变
    L 文件路径是否改变
    U 文件的属主(所有者)是否改变
    G 文件的属组是否改变
    T 文件的修改时间是否改变

    如果命令被替换了,如果还原回来:

    文件提取还原案例: 
    rpm -qf /bin/ls 查询ls命令属于哪个软件包  
    mv /bin/ls /tmp 先把ls转移到tmp目录下,造成ls命令丢失的假象  
    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 提取rpm包中ls命令   
    到当前目录的/bin/ls下   
    cp /root/bin/ls /bin/ 把ls命令复制到/bin/目录 修复文件丢失  
    

    如果是Ubuntu系统,Debian系

    Debian系:
    dpkg -V
    可以检查包的完整性

    -V|--verify <package> ...        Verify the integrity of package(s).
    root@ubuntu:/home/yrq/Desktop# dpkg -V > dpkg.log
    root@ubuntu:/home/yrq/Desktop# cat dpkg.log
    ??5??????   /opt/electron-ssr/content_shell.pak
    ??5?????? c /etc/libvirt/nwfilter/allow-arp.xml
    ??5?????? c /etc/libvirt/nwfilter/allow-dhcp-server.xml
    ??5?????? c /etc/libvirt/nwfilter/allow-dhcp.xml
    ??5?????? c /etc/libvirt/nwfilter/allow-incoming-ipv4.xml
    ??5?????? c /etc/libvirt/nwfilter/allow-ipv4.xml
    ??5?????? c /etc/libvirt/nwfilter/clean-traffic.xml
    ??5?????? c /etc/libvirt/nwfilter/no-arp-ip-spoofing.xml
    ??5?????? c /etc/libvirt/nwfilter/no-arp-mac-spoofing.xml
    ??5?????? c /etc/libvirt/nwfilter/no-arp-spoofing.xml
    ??5?????? c /etc/libvirt/nwfilter/no-ip-multicast.xml
    ??5?????? c /etc/libvirt/nwfilter/no-ip-spoofing.xml
    ??5?????? c /etc/libvirt/nwfilter/no-mac-broadcast.xml
    ??5?????? c /etc/libvirt/nwfilter/no-mac-spoofing.xml
    ??5?????? c /etc/libvirt/nwfilter/no-other-l2-traffic.xml
    ??5?????? c /etc/libvirt/nwfilter/no-other-rarp-traffic.xml
    ??5?????? c /etc/libvirt/nwfilter/qemu-announce-self-rarp.xml
    ??5?????? c /etc/libvirt/nwfilter/qemu-announce-self.xml
    ??5?????? c /etc/libvirt/qemu/networks/default.xml
    ??5??????   /usr/lib/python2.7/dist-packages/six-1.11.0.egg-info/PKG-INFO
    ??5??????   /usr/lib/python2.7/dist-packages/six-1.11.0.egg-info/dependency_links.txt
    ??5??????   /usr/lib/python2.7/dist-packages/six-1.11.0.egg-info/top_level.txt
    ??5??????   /usr/lib/python2.7/dist-packages/six.py
    ??5?????? c /etc/proxychains.conf
    ??5??????   /usr/share/gnome-mahjongg/themes/postmodern.svg
    root@ubuntu:/home/yrq/Desktop# 
    
    
    

    AIDE
    “高级入侵检测环境”(AIDE)是一个自由,是流行的文件完整性校验工具Tripwire的替代品。它通过读取配置文件中的一系列正则表达式来建立一个数据库,当数据库初始化后,就可以用来对关键系统文件和一些用户自定义文件的完整性进行校验了。
    AIDE 使用许多流行的信息摘要算法(md5、sha1、rmd160、tiger、haval等)来检查文件的完整性。额外的算法也很容易被添加进去。所有传统文件系统属性的一致性也会被检查。
    Installing AIDE
    在终端模式下进行安装之前,请确认您的网络连接良好,然后请在终端中输入以下命令:

    sudo apt-get install aide
    

    根据系统提示输入您的密码,如果ubuntu验证通过,AIDE安装包将会被下载并自动开始安装。 在安装过程中,一个配置信息窗口会出现,提示你每天的报告会默认发送给root用户,但是你可以通过编辑配置文件 /etc/default/aide来进行修改。请按下回车键来确认这则消息。
    然后系统会询问你是否现在进行AIDE数据库的初始化。现在,请输入Yes,并按下回车键。下一个对话框会询问你是否要覆盖已存在的数据库。如果这是你第一次安装AIDE,请选择Yes并按回车键。
    Configuring AIDE
    AIDE有两个主要的配置文件。
    /etc/default/aide The AIDE general configuration file(AIDE的一般属性配置文档)
    /etc/aide/aide.conf The AIDE rules configuration file(AIDE检查规则配置文件)
    一些AIDE属性和行为可以通过编辑配置文件/etc/default/aide来进行修改。例如:如果你想把AIDE每天产生的报告都发送至breandon用户而不是默认的root用户,只须使用你喜欢的文本编辑器简单的对下面这行进行修改。

    MAILTO=root
    

    这一行显示出你选择的用户(在这个例子中是breandon):

    MAILTO=breandon
    

    阅读/etc/default/aide的注释来看一看其他配置项用来控制什么,然后就可以根据你的需求进行修改。另一个配置文件/etc/aide/aide.conf用来控制目录、文件和文件属性的检查规则,在扫描的时候AIDE根据这些规则来判断文件是否被更改。
    例如,在默认的/etc/aide/aide.conf中,对于所有属于组BinLib的目录、文件,AIDE要检查它们的访问权限 (permissions)、节点(inode)、被链接数(number of links)、所属用户(user)、所属组(group)、大小(size)、块数目(block count)、修改时间(mtime)、建立时间(ctime)、md5校验值(md5 checksum)、sha1校验值(sha1 checksum)是否改变(p+i+n+u+g+s+b+m+c+md5+sha1),而对于所有属于组Databases的目录和文件,AIDE只检 查它们的访问权限、被链接数、所属用户、所属组是否改变(p+n+u+g)。

    每行可以定义一个属于特定组的目录,其格式如下:

    directory Group definition
    

    例如,要把目录/opt/local/bin加入到BinLib组的定义中,只要在/etc/aide/aide.conf中合适的章节添加如下的行:

    /opt/local/bin BinLib
    

    另一个善于使用AIDE的例子是用它监视系统任务计划文件(crontabs)。系统任务计划文件定义计划好的通过cron daemon执行的任务。为了确保这些文件不会被自动的、按计划执行的恶意程序所修改,只需简单的使用sudo命令,用你喜欢的编辑器编辑/etc /aide/aide.conf,找到下面这行:

    Check crontabs

    将Check crontabs块下所有以/var/spool开头的行的注释取消掉,然后存盘。为了进一步的应用AIDE,您应当仔细的阅读/etc/aide /aide.conf(尤其是那些被注释掉的块)和aide.conf的手册,您也可以阅读AIDE手册的HTML版本来进一步的了解这个配置文档的使用 方法。
    如果您希望对配置文件的修改马上生效,请在终端下执行下面的命令来更新AIDE的配置:

    sudo update-aide.conf
    

    如果您不这样做,AIDE每天会自动进行这项工作,所以如果您作了修改,不需要马上手动执行上述的命令。你可以放心,通过使用crontab,配置会在AIDE每天运行前被自动的更新。

    Using AIDE

    要使用AIDE,您必须确认数据库存在:

    ls /var/lib/aide
    

    如果在ls命令的输出中可以看到aide.db,那么可以进行初始化的工作了,反之,如果您看到了aide.db.new你就必须使用下面的命令把aide.db.new重命名为aide.db:

    sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
    

    AIDE数据库准备好后,您就可以对数据库进行初始化了,请在终端中输入下面的命令:

    sudo aide --init
    

    在初始化完成后,您应当可以看到下面这行:

    ### AIDE database initialized
    

    您可以开始检查/etc/aide/aide.conf中定义的目录和文件,请在终端中输入下面的命令:

    sudo aide --check
    

    如果所有目录都是正常的,并且所有文件都在监视中,在检查结束后,您可以看到下面的提示:

    ### All files match AIDE database. Looks okay!
    

    AIDE可以通过/etc/cron.daily/aide每天启动。AIDE的输出会发送给特定的用户,这个用户可以在/etc/default/aide文件中的“MAILTO=”处进行定义,就像前面描述的一样。

    关于AIDE、文件完整性监视和校验的一些资源可见下表:

    本地资源

    man aide	System manual page for the aide command(aide命令的手册)
    man aide.conf	System manual page for the aide.conf configuration file(aide.conf的手册)
    man aideinit	System manual page for the aideinit command(aideinit命令的手册)
    man update-aide.conf	System manual page for the update-aide.conf command(update-aide.conf的手册)
    /usr/share/doc/aide/manual.html	The AIDE manual in HTML format(AIDE手册的网页版本)
    /etc/default/aide	The AIDE general configuration file(AIDE的一般属性配置文件)
    /etc/aide/aide.conf	The AIDE rules configuration file(AIDE检查规则配置文件)
    /etc/cron.daily/aide	Daily AIDE cron scripts(AIDE的计划任务脚本)
    其他文件完整性监视和校验工具
    
     * BSign : Corruption and Intrusion Detection using embedded hashes
     *Integrit : Small footprint, unattended monitoring of file integrity with cascading rulesets Integrit Website ()
     *Samhain : Standalone, or Client-Server file integrity monitoring solution Samhain Website ()
     *Systraq : Monitors, and alerts on file changes Systraq Website ()
    

    参考资料

    http://blog.chinaunix.net/uid-20147410-id-173016.html
    《应急响应实战笔记_2020最新版》

    展开全文
  • 第4章 数据完整性和所有者的确认——消息摘要和签名 83 4.1使用消息摘要验证数据未被篡改 83 4.1.1计算消息摘要 84 4.1.2基于输入流的消息摘要 85 4.1.3输入流中指定内容的消息摘要 87 4.1.4基于输入流的消息摘要 89...
  • 电子签章,与我们所使用的数字证书一样,是用来做为身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身份,保证文件完整性,并表示签署者同意电子文件所陈述...
  • 消息摘要算法有:MD类,SHA类,MAC类,他们对传入数据没有长度限制,然后返回一定长度的摘要,所以他们可以做文件完整性验证防止文件篡改。并且他们是不可逆的,这点很好理解比如一个2g的文件用MD5加密后生成的摘要...
  • 消息摘要算法:MD类,SHA类,Mac,他们都是可以传入长度不限的数据返回一个与之对应的有限长度的摘要,一般这个摘要是唯一的,理想状态下,只要文件一变化摘要也会随之改变,根据这一特性可以用做文件完整性验证和...
  • # 解决的主要问题——确定数据的完整性和所有者 # 网上下载了一个程序,如何确定它确实是某某公司开发的? # 如何确定黑客没有将程序修改过? # 某公司或人发来一个文件,后来他不承认发过这个文件怎么办? # ...
  • 5.5.3 最后验证 155 5.6 小结 156 第2部分 实战篇 157 第6章 RAC维护工具集 158 6.1 Oracle Clusterware工具集 158 6.2 节点层 158 6.3 网络层 159 6.4 集群层 161 6.4.1 crsctl 162 6.4.2 OCR...
  • 运用 ORM 技术迁移,开发 ES 类的 ORM 框架,解决查询映射复杂,做面向对象开发包装 10 RPC 框架实现 学习 RPC 框架的设计和开发,了解通信原理和实现 11 数据库路由组件 把散列算法、切面处理、数据源切换...
  • MD5

    2017-05-22 16:07:23
    思考一个问题   用户需要上传和下载一个重要的资料文件,应该如何判断用户本次是否...  因此非常有必要在客户端与服务器之间通过一种验证机制来确保文件上传下载后的完整性。那怎么样才能保证资源的完整性,处理
  •  创建数据库时,数据模型和完整性约束可以创建数据结构和内容方面的确定性。但是,当存储数据(是指XML)是可以手工编辑的文件里的文本时,您怎么实施这种控制呢?幸运的是,验证文件和文档可以确保数据满足约束。...
  • 自定义注解入门

    2019-09-06 20:45:23
    注解(Annotation) : 其实就是代码里的特殊标记, 它用于替代配置文件,也就是说,传统方式...如实现实体类某些属性不自动赋值,或者验证某个对象属性完整性等 @Target: 表示该注解可以用于什么地方,可能的El...
  •  上一篇给大家介绍了Hadoop是怎么样保证数据的完整性的,并且使用Java程序来验证了会产生.crc的校验文件。这一篇给大家分享的是Hadoop的序列化! 一、序列化和反序列化概述 1.1、序列化和反序列化的定义  1)...
  • 有效应对NP完整性 对于2020年秋季产品,我们的任务是解决NP完全问题的近似方法。 您可以在以及project_sec.pdf查看项目规范。 我们选择将此问题表示为 要求 Python 3.6+ 或 请注意,如果您使用的是Gurobi,则需要...
  • PUPTOO通过消息中的URL检索有效负载,通过洞察核心对其进行处理以提取事实并保证档案的完整性,然后将提取的信息发送给清单服务。 该服务在Openshift Dedicated中运行。 怎么运行的 PUP服务工作流程如下: 从MQ...
  • 列级完整性约束只要求支持primary key、unique、not null三种。表级完整性约束只要求支持primary key、foreign key两种。注意:同一数据库名下表不能同名,同一表中列字段不能同名。 例如: Create table student ( ...
  • 新闻发布系统

    2012-05-05 21:42:57
    一个完整的新闻发布系统 关键字:JSP、Java、新闻发布 环境:Tomcat 5.5.7 + J2SE 5.0 + PostgreSQL 8.0 我将分几个步骤完成对一个新闻发布系统的构建,来理解JSP的一些基本使用方法! 首先我将先介绍这个新闻...
  • 完整,更复杂的安装为您提供了更大的灵活,但需要您将静态站点构建器与支持npm软件包的构建系统一起使用。 贡献 随时欢迎新的贡献者! 查看参与其中。 变更记录 该项目遵循。 每个版本都记录在Github页面上。 ...
  • 当选定文件以后,每个文件都会被验证和处理。当Flash上传文件的时候,由开发人员预定义的Javascript事件会被定时触发以便来更新页面中的UI,同时还提供上传状态和错误信息。 选定的文件的上传和它所在页面、表单是...
  • 1、文件、文件夹、目录结构、组建、变量等等怎么命名 2、html、css、less等如何规范 3、vue项目目录结构如何划分 4、router和store该怎么划分扩展更好 5、vue组件规范该选择哪些 6、以及更多,数不胜数让你觉得...
  • 1、文件、文件夹、目录结构、组建、变量等等怎么命名 2、html、css、less等如何规范 3、vue项目目录结构如何划分 4、router和store该怎么划分扩展更好 5、vue组件规范该选择哪些 6、以及更多,数不胜数让你...
  • 计算机系统的安全目标包括安全性、可用性、 完整性 、 保密性 和所有权。 根据攻击行为的发起方式,网络攻击可以分为 主动攻击 和被动攻击,其中被动攻击常表现为 拦截 ,而主动攻击表现为中断、 篡改、 伪造 三类...
  • ASP.NET精品课程+源代码

    千次下载 热门讨论 2009-01-05 20:15:51
    涵盖了代码规范、运行模型、服务控件、验证控件、数据绑定技术、ADO.NET技术、数据库技术、文件操作等内容。 所列出的内容均是ASP.NET开发网站等应用的必备知识。我们在实训课题引入的前提下,通过一系列完整的案例...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

怎么验证文件完整性