arpwatch

监听网络上ARP的记录

补充说明

arpwatch命令 用来监听网络上arp的记录。

语法

1
arpwatch(选项)

选项

1
2
3
4
-d:启动排错模式;
-f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat;
-i<接口>:指定监听ARP的接口,预设的接口为eth0;
-r<记录文件>:从指定的文件中读取ARP记录,而不是从网络上监听。

arptables

管理ARP包过滤规则表

补充说明

arptables命令 用来设置、维护和检查Linux内核中的arp包过滤规则表。

语法

1
arptables(选项)

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
-A:向规则链中追加规则;
-D:从指定的链中删除规则;
-l:向规则链中插入一条新的规则;
-R:替换指定规则;
-P:设置规则链的默认策略;
-F:刷新指定规则链,将其中的所有规则链删除,但是不改变规则链的默认策略;
-Z:将规则链计数器清零;
-L:显示规则链中的规则列表;
-X:删除指定的空用户自定义规则链;
-h:显示指令帮助信息;
-j:指定满足规则的添加时的目标;
-s:指定要匹配ARP包的源ip地址;
-d:指定要匹配ARP包的目的IP地址。

arping

通过发送ARP协议报文测试网络

补充说明

arping命令 是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址。能够测试一个ip地址是否是在网络上已经被使用,并能够获取更多设备信息。功能类似于ping。

语法

1
arping(选项)(参数)

选项

1
2
3
4
5
6
7
-b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
-q:quiet output不显示任何信息;
-f:表示在收到第一个响应报文后就退出;
-w timeout:设定一个超时时间,单位是秒。如果到了指定时间,arping还没到完全收到响应则退出;
-c count:表示发送指定数量的ARP请求数据包后就停止。如果指定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止;
-s source:设定arping发送的arp数据包中的SPA字段的值。如果为空,则按下面处理,如果是DAD模式(冲突地址探测),则设置为0.0.0.0,如果是Unsolicited ARP模式(Gratutious ARP)则设置为目标地址,否则从路由表得出;
-I interface:设置ping使用的网络接口。

参数

目的主机:指定发送ARP报文的目的主机。

实例

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~]# arping www.baidu.com 
ARPING 220.181.111.147 from 173.231.43.132 eth0
Unicast reply from 220.181.111.147 00:D0:03:[bc:48:00] 1.666ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.677ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.691ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.728ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.626ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.292ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.429ms
Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 2.042ms
Sent 8 probes (1 broadcast(s))
Received 8 response(s)

arpd

收集免费ARP信息

补充说明

arpd命令 是用来收集免费arp信息的一个守护进程,它将收集到的信息保存在磁盘上或者在需要时,提供给内核用户用于避免多余广播。

语法

1
arpd(选项)(参数)

选项

1
2
3
4
5
6
-l:将arp数据库输出到标准输出设备显示并退出;
-f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似;
-b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db”;
-a:指定目标被认为死掉前查询的次数;
-k:禁止通过内核发送广播查询;
-n:设定缓冲失效时间。

参数

网络接口:指定网络接口。

实例

启动arpd进程:

1
arpd -b /var/tmp/arpd.db

运行一段时间后,查看结果:

1
arpd -l -b /var/tmp/arpd.db

arp

arp 命令用于显示和修改 IP 到 MAC 转换表。

补充说明

arp 命令 是 Address Resolution Protocol,地址解析协议,是通过解析网络层地址来找寻数据链路层地址的一个网络协议包中极其重要的网络传输协议。而该命令可以显示和修改 arp 协议解析表中的缓冲数据。

语法

1
arp(选项)(参数)

选项

-a 主机 :显示 arp 缓冲区的所有条目;
-H 地址类型 :指定 arp 指令使用的地址类型;
-d 主机 :从 arp 缓冲区中删除指定主机的 arp 条目;
-D:使用指定接口的硬件地址;
-e:以 Linux 的显示风格显示 arp 缓冲区中的条目;
-i 接口 :指定要操作 arp 缓冲区的网络接口;
-s 主机 MAC 地址 :设置指定的主机的 IP 地址与 MAC 地址的静态映射;
-n:以数字方式显示 arp 缓冲区中的条目;
-v:显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息;
-f 文件 :设置主机的 IP 地址与 MAC 地址的静态映射。

参数

主机:查询 arp 缓冲区中指定主机的 arp 条目。

实例

显示arp 缓冲区内容

1
2
3
4
5
[root@localhost ~]# arp -v
Address HWtype HWaddress Flags Mask Iface
192.168.0.134 ether 00:21:5E:C7:4D:88 C eth1
115.238.144.129 ether 38:22:D6:2F:B2:F1 C eth0
Entries: 2 Skipped: 0 Found: 2

添加静态 arp 映射

1
2
arp -s IP MAC-ADDRESS
arp -s 192.168.1.1 00:b1:b2:b3:b4:b5

删除 arp 缓存条目

1
arp -d 192.168.1.1

arj

用于创建和管理.arj压缩包

补充说明

arj命令 是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包。

语法

1
arj(参数)

参数

  • 操作指令:对“.arj”压缩包执行的操作指令;
  • 压缩包名称:指定要操作的arj压缩包名称。

arch

显示当前主机的硬件架构类型

补充说明

arch命令 用于显示当前主机的硬件架构类型。arch命令等同于命令name -m在当前的Linux系统下,arch命令输出结果有:i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等

语法

1
arch

实例

1
2
arch
x86_64

ar

建立或修改备存文件,或是从备存文件中抽取文件

补充说明

ar命令 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限

语法

1
2
3
ab(选项)(参数)
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
ar -M [<mri-脚本]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
d            - 从归档文件中删除文件
m[ab] - 在归档文件中移动文件
p - 打印在归档文件中找到的文件
q[f] - 将文件快速追加到归档文件中
r[ab][f][u] - 替换归档文件中已有的文件或加入新文件
s - act as ranlib
t - 显示归档文件的内容
x[o] - 从归档文件中分解文件
特定命令修饰符:
[a] - 将文件置于 [成员名] 之后
[b] - 将文件置于 [成员名] 之前 (于 [i] 相同)
[D] - use zero for timestamps and uids/gids
[U] - use actual timestamps and uids/gids (default)
[N] - use instance [count] of name
[f] - truncate inserted file names
[P] - 在匹配时使用完整的路径名
[o] - 保留原来的日期
[u] - 只替换比当前归档内容更新的文件
通用修饰符:
[c] - 不在必须创建库的时候给出警告
[s] - 创建归档索引 (cf. ranlib)
[S] - 不要创建符号表
[T]         - 做一个压缩档案
[v] - 输出较多信息
[V] - 显示版本号
@<file> - 从<file>读取选项
--target=BFDNAME - 将目标对象格式指定为BFDNAME

选项参数

1
--plugin <p> - load the specified plugin

ar:支持的目标: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex

实例

打包文件

1
2
3
4
5
6
7
8
[root@localhost ~]# ls   //显示当前目录文件   
a.c b.c d.c install.log qte
anaconda-ks.cfg c.c Desktop

[root@localhost ~]# ar rv one.bak a.c b.c //打包 a.c b.c文件
ar: 正在创建 one.bak
a - a.c
a - b.c

打包多个文件

1
2
3
4
5
6
[root@localhost ~]# ar rv two.bak *.c  //打包以.c结尾的文件  
ar: 正在创建 two.bak
a - a.c
a - b.c
a - c.c
a - d.c

显示打包文件的内容

1
2
3
4
5
[root@localhost ~]# ar t two.bak    
a.c
b.c
c.c
d.c

删除打包文件的成员文件

1
2
3
[root@localhost ~]# ar d two.bak a.c b.c c.c  
[root@localhost ~]# ar t two.bak
d.c

aptitude

Debian Linux系统中软件包管理工具

补充说明

aptitude命令 与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。它通过文本操作菜单和命令两种方式管理软件包。

语法

1
aptitude(选项)(参数)

选项

1
2
3
4
5
6
-h:显示帮助信息;
-d:仅下载软件包,不执行安装操作;
-P:每一步操作都要求确认;
-y:所有问题都回答“yes”;
-v:显示附加信息;
-u:启动时下载新的软件包列表。

参数

操作命令:用户管理软件包的操作命令。

实例

以下是我总结的一些常用aptitude命令,仅供参考:

1
2
3
4
5
6
7
8
9
10
aptitude update            #更新可用的包列表
aptitude upgrade #升级可用的包
aptitude dist-upgrade #将系统升级到新的发行版
aptitude install pkgname #安装包
aptitude remove pkgname #删除包
aptitude purge pkgname #删除包及其配置文件
aptitude search string #搜索包
aptitude show pkgname #显示包的详细信息
aptitude clean #删除下载的包文件
aptitude autoclean #仅删除过期的包文件

当然,你也可以在文本界面模式中使用 aptitude。

apt-sortpkgs

Debian Linux下对软件包索引文件进行排序的工具

补充说明

apt-sortpkgs命令 是Debian Linux下对软件包索引文件进行排序的简单工具。

语法

1
apt-sortpkgs(选项)(参数)

选项

1
2
-s:使用源索引字段排序;
-h:显示帮助信息。

参数

文件:指定要排序的包含debian包信息的索引文件。