# snmpwalk -v3 -u siemens -l authNoPriv -a MD5 -x DES -A '<user>' -X '<password>' localhost
[命令] Linux 命令 tcpdump (网络抓包)
内容一:tcpdump 命令格式
# tcpdump <option> <proto> <dir> <type>
内容二:tcpdump 命令选项 (option)
1) -A use ASCII print all data, it is convenient for read website date.
2) -c <number>, number of packet captures
3) -C <file size>,size of file
4) -e, display data link layer
5) -G <second>, create a new file after these seconds
6) -l, send the output to next command, example: tcpdump -i eth0 -s0 | grep 'Server:'
7) -n, do not resolve domain only display IP address
8) -nn, do not resolve domain and port only display IP address
9) -i <interface>, such as internet card and can use: -i any
10) -p, only display the data which point it self
11) -r <file>, read data from file
12) -s <snaplen>, size of length of the network package and can use: -s 0 to ulimite the length, the default value is 96B
13) -v , display detail
14) -vv, display detail more than -v
15) -vvv, display detail more than -vv
16) -w <file>, write the output result into a file
17) -W <number>, how many files will output result into
内容三:tcpdump 命令协议 (proto)
1) tcp or proto 6
2) udp or proto 17
3) icmp, example: proto \\icmp is icmp
4) ip
5) ip6
6) arp
7) rarp
8) ether
9) wlan
内容四:tcpdump 命令方向 (dir)
1) src
2) dst
内容五:tcpdump 命令种类 (type)
1) host <IP address>
2) net <network segment>, example: 10 is 10.x.x.x/8 , 192.168.0 is 192.168.0.0/24
3) port <port>
4) portrange <port range>
内容六:tcpdump 命令逻辑
1) and or &&
2) or or ||
3) not or !
内容七:tcpdump 命令的使用案例
7.1 显示发送到某个 IP 地址的某个端口的网络数据包
# tcpdump -i any dst 192.168.0.1 and udp port 514
(补充:这里以显示发送到 IP 地址 192.168.0.1 的 UDP 514 端口为例,如果有这类网络数据包的话则详细信息会在命令输出后显示出来)
7.2 显示从某个 IP 地址发送来的网络数据包
# tcpdump -vv src host 192.168.0.1
(补充:这里以显示从 IP 地址 192.168.0.1 发送来的网络数据包为例,如果有这类网络数据包的话则详细信息会在命令输出后显示出来)
7.3 将所有抓到的网络数据包导入到某个文件里
# tcpdump -i any -w /tmp/telnet.cap
(补充:这里以将所有抓到的数据包导出到文件 /tmp/telnet.cap 为例)
7.4 将某个网卡抓到的网络数据包导入到某个文件里
# tcpdump -i eth0 -s 0 -w /tmp/$(hostname)-$(date +"%Y-%m-%d-%H-%M-%S").pcap host 192.168.1.1 or host 192.168.1.2
(补充:这里以将网卡 eth0 网卡上抓到的来源或目的是 192.168.1.1 或 192.168.1.2 的数据包导出到文件 /tmp/$(hostname)-$(date +”%Y-%m-%d-%H-%M-%S”).pcap 为例)
[命令] Linux 命令 lsscsi (查看硬盘类型,例:SSD、HD、SATA、FC ……)
内容一:lsscsi 命令的格式
# lsscsi <option>
内容二:lsscsi 命令的选项
1) -c 以硬盘全称的形式显示硬盘默认信息
2) -d 显示硬盘主设备号和次设备号
3) -g 显示硬盘对应的 sg 设备
4) -H 显示硬盘的控制器列表
5) -i 显示硬盘的 udev 信息
6) -l 显示硬盘状态
7) -ll 显示硬盘状态,比 -l 选项能显示更多信息
8) -lll 或者 -L 显示硬盘状态,比 -ll 选项能显示更多信息
9) -p 显示硬盘的 DIF DIX 保护类型
10) -P 显示硬盘有效的保护类型
11) -s 显示硬盘容量
12) -v 显示硬盘设备所在目录
13) -w 显示硬盘的 WWN 信息
14) -x 以 16 进制显示硬盘的 lun 号
[命令] Linux 命令 eval (执行变量里的命令或实现指针)
内容一:eval 命令的作用
对将要执行的命令进行 2 次扫描,第 1 次扫描时把扫描的内容替换成命令,第 2 次扫描时执行扫描到的命令
内容二:eval 直接执行命令的案例
2.1 设置变量
# url=eternalcenter.com
(补充:这里以将内容 eternalcenter.com 赋值给变量 url 为例)
2.2 显示变量里内容
# echo $url
eternalcenter.com
或者:
# eval echo $url
eternalcenter.com
(补充:这里以显示变量 url 里的内容 eternalcenter.com 为例)
内容三:eval 将变量转换成命令后执行的案例
3.1 将命令设置成变量
# command=pwd
(补充:这里以将命令 pwd 赋值给变量 command 为例)
3.2 显示变量里的命令
# echo $command
pwd
(补充:这里以显示变量 command 里的 pwd 命令为例)
3.3 执行变量里的命令
# eval $command
/root
(补充:这里以执行变量 command 里的 pwd 命令为例)
内容四:eval 显示脚本里最后 1 个位置变量的内容
4.1 创建显示最后 1 个位置变量的脚本
# vim test.sh
创建以下内容:
#!/bin/bash
eval echo \$$#
(补充:这里创建名为 test.sh 的脚本为例)
4.2 带位置变量执行脚本
# . test.txt a b c d e
e
(补充:这里执行名为 test.sh 的脚本并附带 a b c d e 5 个位置变量为例)
内容五:eval 实现指针
5.1 设置变量
# url=eternalcenter.com
(补充:这里以将内容 eternalcenter.com 赋值给变量 url 为例)
5.2 设置指针
# pointer=url
(补充:这里以让指针 pointer 指向 url 变量为例)
5.3 显示指针指向的变量
# echo $pointer
url
(补充:这里以显示指针 pointer 指向的变量 url 为例)
5.4 显示指针最终指向的内容
# eval echo \$$pointer
eternalcenter.com
(补充:这里以显示指针 pointer 指向的最终内容 eternalcenter.com 为例)
[排错] 解决 Linux 日志报错:“hash:/etc/aliases is unavailable.open database /etc/aliases.db” 或者 “error: open database /etc/aliases.db: No such file or directory”
报错代码
hash:/etc/aliases is unavailable.open database /etc/aliases.db
或者:
error: open database /etc/aliases.db: No such file or directory
解决方法
# newaliases