0%

tools in Linux

在Linux下使用过的一些工具

openssl

加解密命令库

安装

1
sudo apt-get install openssl

操作

加解密

1
openssl enc [cipher_type] 
  • -e: 加密
  • -d:解密
  • -in [file]:指定输入文件
  • -out [file]:指定输出文件
  • -K:指定密钥(十六进制形式)(注意K大写)
  • -iv:指定初始向量(十六进制形式)

查看PKI信息

  1. 证书信息

    1
    openssl x509 -noout -text -in ca.crt
  2. 密钥信息(需要输入密钥加密口令)

    1
    openssl rsa -in server.key -text
  3. 待续

PKI

  1. 建立CA

    1. 准备一个目录(假设命名为PKI)

    2. 拷贝openssl提供的配置文件/usr/lib/ssl/openssl.cnf,并按照配置文件要求创建相应文件(先创建dir,certs,crl_dir,database,new_certs_dir,serial即可):

      opensslconf

      其中,对于 index.txt 文件,只需创建一个空文件;对于 serial 文件,创建文件后需要输入序列号,以文件形式输入的序列号应为偶数位数的 16 进制数字,如 1000,0a等。

    3. 返回 PKI 目录, 利用 openssl req 命令为 CA 生成一个自签名证书,该证书证明 CA 可信,并成为根证书:

      1
      openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

      参数含义:

      • new: 创建一个证书请求文件,若之后指定了-x509 选项,代表创建自签名证书文件
      • -keyout [file]: 指定自动创建私钥时私钥的输出文件
      • -config [file]: 指定 req 命令的配置文件

      在证书生成过程中,需要输入口令( passphrase) 与相关信息,该 CA 在每次签发证书时都会要求输入口令。另外, 还需要输入一些相关信息,例如 Country Name, Common Name 等,可以自行输入,也可以按回车键使用默认值。输出文件包括 ca.key 与 ca.crt。

  2. 利用CA签发证书

假设有一个网站 PKILab.com,需要从 CA 处取得一个电子证书,可以通过以下步骤完成签发流程。

  1. PKILab.com 需要生成自己的公私钥对:

    1
    openssl genrsa -aes128 -out server.key 2048
  2. PKILab.com 需要生成证书请求文件(CSR)。该文件包含 PKILab.com的公钥,并会被发送给 CA,请求 CA 对公钥进行签名:

    1
    openssl req -new -key server.key -out server.csr -config openssl.cnf

    在生成证书请求文件的过程中,对于 CommonName 域,应输入“PKILab.com”;对于extra中的attributes域,可自行输入,或直接按回车键使用默认值;对于其他域,应与CA保持一致。

  3. CA收到证书请求文件(server.csr)后,利用自己的私钥(ca.key) 与证书(ca.crt), 签名并生成 PKILab.com 所需的 X509 证书(server.crt):

    1
    openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

ghex/bless

两者均为二进制文件编辑器。均可通过apt直接安装。

nmap

网络映射器,网络扫描工具;

使用:

1
nmap [scan type(s)] [options] [target]

这里的[target]表示要扫描的对象,可以是 IP 地址、网段、主机名等,同时 nmap 命令还支持自定义扫描模式、参数等,部分参数需要 sudo 权限,表1介绍常用的几种参数,其余参数以及更详尽的用法请使用 man nmap 查看。

参数 含义
-sN ping扫描,主机发现
-sT TCP连接扫描
-sS TCP SYN扫描
-sA TCP ACK扫描
-sU UDP 连接扫描
-O 操作系统扫描
-sV 开放端口的系统服务及版本扫描
-------------终了-------------

欢迎关注我的其它发布渠道