Arp

显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。

语法

arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]

参数

-a[ InetAddr] [ -N IfaceAddr]

显示所有接口的当前 ARP 缓存表。要显示特定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表 IP 地址。如果未指定 InetAddr,则使用第一个适用的接口。要显示特定接口的 ARP 缓存表,请将 -N IfaceAddr 参数与 -a 参数一起使用,此处的 IfaceAddr 代表指派给该接口的 IP 地址。-N 参数区分大小写。

-g[ InetAddr] [ -N IfaceAddr]

与 -a 相同。

-d InetAddr [IfaceAddr]

删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。

-s InetAddr EtherAddr [IfaceAddr]

向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。

/?

在命令提示符下显示帮助。

注释

" InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。

" EtherAddr 的物理地址由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。

" 通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请将适当的 arp 命令置于批处理文件中,并使用“任务计划”在启动时运行该批处理文件。

示例

要显示所有接口的 ARP 缓存表,可键入:

arp -a

对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:

arp -a -N 10.0.0.99

要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的静态 ARP 缓存项,可键入:

arp -s 10.0.0.80 00-AA-00-4F-2A-9C

处理系统的 ARP 缓存,可以清除缓存中的地址映射,建立新的地址映射;

语法:arp [-v][-n][-H type][-i if] -a [hostname]

arp [-v][-i if] -d hostname [pub]

arp [-v][-H type][-i if] -s hostname hw_addr [temp]

arp [-v][-H type][-i if] -s hostname hw_addr [netmask nm] pub

arp [-v][-H type][-i if] -Ds hostname ifa [netmask nm] pub

arp [-v][-n][-D][-H type][-i if] -f [filename]

该命令的各选项含义如下:

-v  显示详细信息;

-n  以数字地址形式显示;

-i  If选择界面;

-H  type设置和查询arp缓存时检查 type 类型的地址;

-a [hostname]  显示指定 hostname 的所有入口;

-d hostname  删除指定 hostname 的所有入口;

-D  使用ifa硬件地址界面;

-s hostname hw_addr  手工加入 hostname 的地址映射;

-f filename  从指定文件中读入 hostname 和硬件地址信息

-s hostname hw_addr 手工加入 hostname 的地址映射;

采用双向绑定的方法解决并且防止ARP欺骗。

1、在PC上绑定安全网关的IP和MAC地址:

1)首先,获得安全网关的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa)。

2)编写一个批处理文件rarp.bat内容如下:

@echo off

arp -d

arp -s 192.168.16.254 00-22-aa-00-22-aa

将文件中的网关IP地址和MAC地址更改为实际使用的网关IP地址和MAC地址即可。

将这个批处理软件拖到“windowsà开始à程序à启动”中。

3)如果是网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)发送批处理文件rarp.bat到所有客户机的启动目录。Windows2000的默认启动目录为“C:\Documents and Settings\All Users「开始」菜单程序启动”。

ARp(地址转换协议)的使用技巧

ARp是一个重要的TCp/Ip协议,并且用于确定对应Ip地址的网卡物理地址。实用arp命令,我们能够查看本地计算机或另一台计算机的ARp高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/Ip地址对,我们可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。

按照缺省设置,ARp高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARp便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/Ip地址对就会在2至10分钟内失效。因此,如果ARp高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

ARp常用命令选项:

·arp -a或arp –g

用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARp高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

·arp -a Ip

如果我们有多个网卡,那么使用arp -a加上接口的Ip地址,就可以只显示与该接口相关的ARp缓存项目。

·arp -s Ip 物理地址

我们可以向ARp高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

·arp -d Ip

使用本命令能够人工删除一个静态项目。

例如我们在命令提示符下,键入 Arp –a;如果我们使用过 ping 命令测试并验证从这台计算机到 Ip 地址为 10.0.0.99 的主机的连通性,则 ARp 缓存显示以下项:

Interface:10.0.0.1 on interface 0x1

Internet Address   physical Address   Type

10.0.0.99       00-e0-98-00-7c-dc   dynamic

在此例中,缓存项指出位于 10.0.0.99 的远程主机解析成 00-e0-98-00-7c-dc 的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。媒体访问控制地址是计算机用于与网络上远程 TCp/Ip 主机物理通讯的地址。

至此我们可以用ipconfig和ping命令来查看自己的网络配置并判断是否正确、可以用netstat查看别人与我们所建立的连接并找出ICQ使用者所隐藏的Ip信息、可以用arp查看网卡的MAC地址。

netstat

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在我的计算机上执行netstat后,其输出结果为:

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED

tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED

tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED

tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED

tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Type State I-Node Path

unix 1 [ ] STREAM CONNECTED 16178 @000000dd

unix 1 [ ] STREAM CONNECTED 16176 @000000dc

unix 9 [ ] DGRAM 5292 /dev/log

unix 1 [ ] STREAM CONNECTED 16182 @000000df

从整体上看,netstat的输出结果可以分为两个部分,一个是Active Internet connections,称为有源TCP连接,另一个是Active UNIX domain sockets,称为有源Unix域套接口。在上面的输出结果中,第一部分有5个输出结果,显示有源TCP连接的情况,而第二部分的输出结果显示的是Unix域套接口的连接情况。Proto显示连接使用的协议;RefCnt表示连接到本套接口上的进程号;Types显示套接口的类型;State显示套接口当前的状态;Path表示连接到套接口的其它进程使用的路径名。

事实上,netstat是若干个工具的汇总。

◆ 显示路由表

在随- r标记一起调用n e t s t a t时,将显示内核路由表,就像我们利用r o u t e命令一样。产生的输出如下:

[root@machine1 /]$ netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0

- n 选项令netstat以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。如果想避免通过网络查找地址(比如避开DNS或NIS服务器),这一点是特别有用的。

netstat输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或者0.0.0.0;第三列展示路由的概述,在为具体的I P地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由与目标路由比较之前,将对I P地址和genmask进行按位“与”计算;第四列显示了不同的标记,这些标记的说明如下:

■ G 路由将采用网关。

■ U 准备使用的接口处于“活动”状态。

■ H 通过该路由,只能抵达一台主机。

■ D 如果路由表的条目是由ICMP重定向消息生成的,就会设置这个标记。

■ M 如果路由表条目已被ICMP重定向消息修改,就会设置这个标记。

netstat输出结果的Iface显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。

◆ 显示接口特性

在随- i标记一起调用时, netstat将显示网络接口的当前配置特性。除此以外,如果调用时还带上-a选项,它还将输出内核中所有接口,并不只是当前配置的接口。netstat-i的输出结果是这样的:

[root@machine1 /]$ netstat -i

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU

eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU

lo 3924 0 1943 0 0 0 43 0 0 0 LRU

MTU和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包( RX - OK / TX - OK)、产生了多少错误( RX-ERR/TX-ERR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。它们的说明如下:

■ B 已经设置了一个广播地址。

■ L 该接口是一个回送设备。

■ M 接收所有数据包(混乱模式)。

■ N 避免跟踪。

■ O 在该接口上,禁用A R P。

■ P 这是一个点到点链接。

■ R 接口正在运行。

■ U 接口处于“活动”状态。

◆ 显示链接

netstat支持用于显示活动或被动套接字的选项集。选项- t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。如果你另外还提供了一个- a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。这样就可以得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。

调用netstat -ta时,输出结果如下:

[root@machine1 /]$ netstat -ta

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED

tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED

tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED

tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED

tcp 0 0 *:9001 *:* LISTEN

tcp 0 0 *:6000 *:* LISTEN

tcp 0 0 *:socks *:* LISTEN

tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

上面的输出表明部分服务器处于等待接入连接状态。利用- a选项的话,netstat还会显示出所有的套接字。注意根据端口号,可以判断出一条连接是否是外出连接。对呼叫方主机来说,列出的端口号应该一直是一个整数,而对众所周知服务(well known service)端口正在使用中的被呼叫方来说,netstat采用的则是取自/etc/services文件的象征**名。

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果我们的计算机有时候接受到的数据报会导致出错数据删除或故障,我们不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么我们就应该使用Netstat查一查为什么会出现这些情况了。

1、netstat 的一些常用选项

·netstat –s

本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

·netstat –e

本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

·netstat –r

本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。

·netstat –a

本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

·netstat –n

显示所有已建立的有效连接。

下面是 netstat 的输出示例:

C:\>netstat -e

Interface Statistics

ReceivedSent

Bytes399583794047224622

Unicast packets120099131015

Non-unicast packets7579544 3823

Discards 0 0  Errors 0 0

Unknown protocols363054211

C:\>netstat -a

Active Connections

Proto Local AddressForeign Address State

TCPCORP1:1572 172.16.48.10:nbsession ESTABLISHED

TCPCORP1:1589 172.16.48.10:nbsession ESTABLISHED

TCPCORP1:1606 172.16.105.245:nbsession ESTABLISHED

TCPCORP1:1632 172.16.48.213:nbsessionESTABLISHED

TCPCORP1:1659 172.16.48.169:nbsessionESTABLISHED

TCPCORP1:1714 172.16.48.203:nbsessionESTABLISHED

TCPCORP1:1719 172.16.48.36:nbsession ESTABLISHED

TCPCORP1:1241 172.16.48.101:nbsessionESTABLISHED

UDPCORP1:1025 *:*

UDPCORP1:snmp *:*

UDPCORP1:nbname *:*

UDPCORP1:nbdatagram *:*

UDPCORP1:nbname *:*

UDPCORP1:nbdatagram *:*

C:\>netstat -s

IP Statistics

Packets Received = 5378528

Received Header Errors = 738854

Received Address Errors= 23150

Datagrams Forwarded= 0

Unknown Protocols Received = 0

Received Packets Discarded = 0

Received Packets Delivered = 4616524

Output Requests= 132702

Routing Discards = 157

Discarded Output Packets = 0

Output Packet No Route = 0

Reassembly Required= 0

Reassembly Successful = 0

Reassembly Failures =

Datagrams Successfully Fragmented = 0

Datagrams Failing Fragmentation = 0

Fragments Created = 0

ICMP Statistics

ReceivedSent

Messages 693 4

Errors 0 0

Destination Unreachable685 0f

Time Exceeded0 0

Parameter Problems 0 0

Source Quenches0 0

Redirects0 0

Echoes 4 0

Echo Replies 0 4

Timestamps 0 0

Timestamp Replies0 0

Address Masks0 0

Address Mask Replies 0 0

TCP Statistics

Active Opens = 597

Passive Opens= 135

Failed Connection Attempts = 107

Reset Connections= 91

Current Connections= 8

Segments Received= 106770

Segments Sent= 118431

Segments Retransmitted = 461

UDP Statistics

Datagrams Received = 4157136

No Ports = 351928

ReceiveErrors = 2

Datagrams Sent = 13809

2、Netstat的妙用

经常上网的人一般都使用ICQ的,不知道我们有没有被一些讨厌的人骚扰,想投诉却又不知从和下手?其实,我们只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那我们是无法在信息栏中看到的。其实,我们只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与我们相连时(例如我们给他发一条ICQ信息或他给我们发一条信息),我们立刻在DOS 命令提示符下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了,甚至连所用Port都完全暴露了。

计算机arp 各命令,ARP命令参数详解相关推荐

  1. python u_对python 命令的-u参数详解

    缘起: 今天在看arcface的训练代码,在shell脚本中运行python 命令时后面加了-u 参数(python -u xx.py),于是对这个参数进行了下小研究. 准备知识 用网上的一个程序示例 ...

  2. ls命令及常用参数详解

    ls命令及常用参数详解 ls命令及常用参数详解 ls命令详解 Linux中执行ls -l后,显示的各列代表什么意思? ls命令及常用参数详解 ♢\color{red}{\diamondsuit}♢ l ...

  3. ping ip 端口_学生会私房菜【20200305期】——Ping命令及其常用参数详解

    一命令原理 Ping是ICMP的一个典型应用.Ping是检测网络连通的常用工具,同时也能收集其他相关信息.用户可以在Ping命令中指定不同参数,如ICMP报文长度.发送的ICMP报文个数.等待回复响应 ...

  4. g++编译命令使用以及参数详解

    gcc & g++现在是gnu中最主要和最流行的c & c++编译器 . g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可.其实是无关紧要的. ...

  5. linux命令之ls命令及常用参数详解

    1.  ls命令解释 ls英文全称为list,列表列出的意思.作用是列出目录中的内容 2.  命令格式 Ls [参数] [目录] 3.  命令常用参数 不带参数:默认列出目录下的所有文件名 -l:   ...

  6. Linux: Top命令查询结果参数详解

    1.top  -H -p 16482  (某个进程内部线程的运行情况) 整体统计信息 第一行:系统运行状态和平均负载 ​第一个参数:目前的时间 :10:14分 ​第二个参数:系统目前运行的时间:运行了 ...

  7. gcc命令常用选项参数详解

    gcc是GUN C和C++编译器,我们通常使用GCC时,编译器会依次做如下工作:preprocess(预处理),compilation(编译),assembly(汇编),link(链接).gcc提供了 ...

  8. wget命令使用及参数详解

    文章目录 1.命令格式: 2.命令功能: 3.命令参数 启动参数 记录和输入文件参数 下载参数 目录参数 HTTP 选项参数 FTP 选项参数 递归下载参数 递归下载中的包含和不包含(accept/r ...

  9. linux的tar命令之-N参数详解

    背景: 一次下载文件太多,服务器禁止,需要先压缩打包一下. 难点: 该文件夹下每次文件都会更新,随时增加,而且会慢慢增多,不能每次都打包全部啊 过程: 1.先用tar --help找到有个-N的参数可 ...

  10. proxy_cache_path命令之levels参数详解 - Nginx篇

    目录 默认目录 一级目录 两级目录 三级目录:第一种方式 三级目录:第二种方式 levels参数负责设置缓存目录级别. 默认目录 假设cache主目录为/data/nginx/cache. 如果没有特 ...

最新文章

  1. 机器人如何懂得人类感情
  2. 总结Unity 初学者容易犯的编译与运行时错误(第三部分)
  3. 万全服务器t350装系统_计算机中那些事儿(八):再历装系统之终身学习
  4. C语言经典算法100例-037-给10个数排序
  5. java socket 传送进度_java-★-Socket文件上传/进度条
  6. 安全模式下修复电脑故障
  7. 8 FI配置-财务会计-把总账科目组的字段状态变式分配给公司代码
  8. Windows vCenter 6.5升级 VUM的安装
  9. 拓端tecdat|R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
  10. 生产调度系统算法模型简要设计
  11. 使用Excel内置控件生成二维码
  12. 【每日一题】字符串转换成整数
  13. 软件设计模式“单例模式”和“工厂模式”
  14. win10查询计算机ip和用户名和密码,Win10怎么查看ip地址_Win10查看本机ip地址-192路由网...
  15. 专家解读:顺丰和菜鸟开战核心是大数据
  16. 调起安卓手机自带应用商店
  17. 动态规划(免费馅饼)
  18. 利用Hexo+github搭建博客,零成本、无需域名、服务器
  19. html中给table添加行和删除行(等)
  20. 学习篇 | 浮点数的表示规则

热门文章

  1. 银行与沪深300走势对比
  2. 这12首极短的诗歌,有极大的魅力
  3. Android5.1下拉状态栏新增截屏功能
  4. Android 下拉菜单列表客制化处理
  5. POJ 4001 xiangqi(模拟)
  6. uefi开发环境搭建
  7. SQLite 生成随机数字、字符串、日期、验证码以及 UUID
  8. 情境领导者-第四章、选择合适的领导风格
  9. Selenium—获取页面的title,url;使用句柄方式切换窗口
  10. 【python脚本系列】Midi数字化乐器接口