楼主: 一生有你llx

[笔记] Linux基础命令

[复制链接]
论坛徽章:
0
131#
 楼主| 发表于 2019-2-20 09:11 | 只看该作者
arping
      arping指令用于发送arp请求到一个相邻的主机,在指定网卡上发送arp请求指定地址,源地址使用-s指定。该指令可以直径ping MAC地址,找出哪些地址被哪些电脑使用了。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     arping [-AbDfhqUV]  [-c count]  [-w deadling]  [-s source]  -I interface  destnation

2、选项列表
选项
说明
-A
与-U相同,但是发送的是ARP RELAY报文
-b
只发送物理层的广播报文
-c count
指定发送测试数据包的次数
-D
重复地址检测模式
-f
如果目的主机有回应,立刻停止发送测试数据包
-h
显示帮助信息
-Iinterface
指定网络设备接口
-q
静默模式
-s source
指定发送测试包的源地址
-U
更新邻居主机arp缓存
-V
显示版本信息
-w
指定超时时间

3、实例
     向邻居主机发送请求
[root@localhost ~]# arping -I eth0 192.168.1.8                       //指定网卡,向目标ip发送请求
ARPING 192.168.1.8 from 192.168.1.9 eth0
Unicast reply from 192.168.1.8 [98:01:A7:9F:5E:9D]  0.817ms       //可以看到目标ipmac地址
Unicast reply from 192.168.1.8 [98:01:A7:9F:5E:9D]  0.749ms
Unicast reply from 192.168.1.8 [98:01:A7:9F:5E:9D]  0.741ms
Unicast reply from 192.168.1.8 [98:01:A7:9F:5E:9D]  0.787ms



使用道具 举报

回复
论坛徽章:
0
132#
 楼主| 发表于 2019-2-20 09:17 | 只看该作者
做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk

4.gif (1.3 MB, 下载次数: 50)

4.gif

使用道具 举报

回复
论坛徽章:
0
133#
 楼主| 发表于 2019-2-21 20:32 | 只看该作者
arpwatch     
      arpwatch指令可以监听网络设备和ip地址的对应关系,将发现的信息发送到系统日志“/var/log/message”。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     arpwatch [选项]

2、选项列表
选项
说明
-d
打开调试模式,调试信息发送到终端
-f file
设置arp记录的存储文件,默认arp.dat。开始使用这个指令之前,必须创建一个空arp.dat
-i interface
指定网络接口
-n
说明本地网络
-N
-N标志禁止报告
-r
从指定的文件中读取arp记录
-e
指定发送mail的目标用户,默认是root
-s
指定发送mail的源用户,默认root

3、报告信息
信息
说明
new activity
这对ethernet/ip地址对第一次被使用了六个月或更长时间。
new station
此ip地址以前从未使用过此以太网地址。
flip flop
以太网地址已从最近看到的地址改为第二最近看到的地址。(如果旧的或新的以太网地址是DECnet地址,并且不到24小时,则报告的电子邮件版本将被取消。)
changed ethernet address
主机切换到新的以太网地址。

4、系统日志信息
信息
说明
ethernet broadcast
主机的mac以太网地址是广播地址。
ip broadcast
主机的IP地址是广播地址。
bogon
源ip地址不是本地子网的本地地址。
ethernet broadcast
源mac或arp以太网地址均为1或全部为零。
ethernet mismatch
源Mac以太网地址与ARP数据包中的地址不匹配。
reused old ethernet address
以太网地址已从最近看到的地址更改为第三(或更大)最近看得最少的地址。(这类似于触发器。)
suppressed DECnet flip flop
由于两个地址之一是DECnet地址,“flip  flop”报告被禁止。

5、实例
监听arp信息
[root@localhost ~]#arpwatch -i eth0                       //监听网卡eht0
[root@localhost ~]# tail -n 3 /var/log/messages          //查看最近的日志信息
Sep 30 08:29:59 localhost arpwatch: listening on eth0
Sep 30 08:30:01 localhost arpwatch: new station 192.168.1.1 c8:41:29:f4:4a:20
Sep 30 08:30:12 localhost arpwatch: new station 192.168.1.9 8:0:27:14:33:57
You have new mail in /var/spool/mail/root



使用道具 举报

回复
论坛徽章:
0
134#
 楼主| 发表于 2019-2-22 08:34 | 只看该作者
ipcalc
ipcalc提供了一种计算主机IP信息的简单方法。各种选项指定ipcalc应该在标准输出上显示什么信息。可以指定多个选项。必须始终指定要操作的IP地址。大多数操作还需要一个网络掩码或CIDR前缀。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
ipcalc [OPTION]... <IP address>[/prefix]  [netmask]

2、选项列表
选项
说明
-c | --check
检测ip地址
-4
指定ipv4
-6
指定ipv6
-b | --broadcast
显示指定ip的广播地址和网络掩码
-h | --hostname
显示指定ip的主机名
-m | --netmask
计算给定地址的掩码
-p | --prefix
显示给定掩码或者ip的前缀
-n | --network
显示给定ip和掩码的网络地址
-s | --slient
不显示任何错误信息

3、实例
1)计算网络地址
[root@localhost ~]#ipcalc -n  192.168.1.9/24
NETWORK=192.168.1.0
2)计算广播地址
[root@localhost ~]# ipcalc -b  192.168.1.9/24
BROADCAST=192.168.1.255
3)计算子网掩码
[root@localhost ~]# ipcalc -4 -m  192.168.1.9
NETMASK=255.255.255.0




使用道具 举报

回复
论坛徽章:
0
135#
 楼主| 发表于 2019-2-25 11:19 | 只看该作者
netstat
      netstat指令可以显示当前的网络连接、路由表、接口统计信息、伪装连接和多播成员资格等信息。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     netstat [address_family_options] [--tcp|-t]  [--udp|-u] [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--symbolic|-N]  [--extend|-e[--extend|-e]]  [--timers|-o] [--program|-p]   [--verbose|-v]  [--continuous|-c]   [delay]
     netstat  {--route|-r} [address_family_options]  [--extend|-e[--extend|-e]]  [--verbose|-v]  [--numeric|-n] [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c] [delay]
     netstat  {--interfaces|-I|-i}  [iface]  [--all|-a]  [--extend|-e]  [--verbose|-v]  [--program|-p]  [--numeric|-n] [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c]  [delay]
     netstat  {--groups|-g} [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]   [--continuous|-c]   [delay]
     netstat {--masquerade|-M}  [--extend|-e] [--numeric|-n]  [--numeric-hosts]  [--numeric-ports]  [--numeric-ports]  [--continuous|-c] [delay]
     netstat {--statistics|-s}  [--tcp|-t]  [--udp|-u]  [--raw|-w]  [delay]
     netstat {--version|-V}
     netstat {--help|-h}

     address_family_options:
     [--protocol={inet,inet6,unix,ipx,ax25,netrom,ddp,  ...  }] [--unix|-x]  [--inet|--ip]  [--ax25]  [--ipx]  [--netrom]  [--ddp]

2、选项列表
选项
说明
--help
显示帮助信息
--version
显示版本信息
-v | --verbose
显示执行过程
-n | --numeric
直接显示数字ip
--numeric-hosts
显示主机的数字地址,不影响端口和用户名
--numeric-ports
显示端口,不影响主机和用户名
--numeric-users
显示用户id,不影响主机和端口
-A | --protocol
指定网络类型
-c | --continuous
持续显示
-e | --extend
显示其他附加信息
-o | --timers
显示计时器
-p | --program
显示正在使用的socket程序pid和名字
-l | --listen
只显示监听的socket信息
-a | -all
显示所有连接中的socket信息
-F
显示FIB
-C
显示路由的缓存
-Z | --context
如果打开了SELinux,那么就打印SELinux的上下文
-T | --notrim
停止修剪长地址

3、说明
netstat打印有关Linux网络子系统的信息。打印的信息类型由第一个参数控制
参数
说明
(none)
默认情况下,netstat显示打开的套接字列表。如果不指定任何地址族,则将打印所有已配置地址家族的活动套接字。
-r | --route
打印内核路由表
-g | --groups
显示IPv4和IPv6的多播组成员信息
-i| --interfaces=iface, -I=iface
显示所有网络接口的表,或指定的ifaces。
-M | --masquerade
显示假连接列表。
-s | --statistics
显示每个协议的汇总统计信息。

4、输出
Active Internet connections(TCP, UDP, raw)
说明
Proto
socket使用的协议,tcp, udp, raw。
Recv-Q
连接到此套接字的用户程序未复制的字节数。
Send-Q
远程主机未确认的字节数。
Local Address
套接字的本地端的地址和端口号。除非指定了“--numeric (-n)“选项,否则套接字地址将解析为其规范主机名(FQDN),端口号将被转换为相应的服务名称。
Foreign Address
套接字的远程端的地址和端口号。类似于“本地地址”。
State
socket的状态。由于在原始模式中没有状态,通常在UDP中也没有使用状态,因此这一列可以保留为空白。通常,这可以是几个值之一:
ESTABLISHED,套接字有一个已建立的连接。
SYN_SENT,套接字正在积极尝试建立连接。
SYN_RECV,已从网络接收到连接请求。
FIN_WAIT1,套接字关闭,连接正在关闭。
FIN_WAIT2,连接被关闭,套接字正在等待来自远程端的关闭。
TIME_WAIT,套接字在关闭后等待处理仍在网络中的数据包。
CLOSED,没有使用套接字。
CLOSE_WAIT,远程终端已关闭,等待套接字关闭。
LAST_ACK,远程终端已关闭,套接字已关闭。等待确认
LISTEN,套接字正在监听传入的连接。除非您指定“--listening”或“--all(-a)”选项,否则输出中不包含此类套接字。
CLOSING,两个套接字都已关闭,但我们仍然没有发送所有数据。
UNKNOWN,套接字的状态未知。
User

PID/Program name

Timer

Active UNIX domain Sockets
说明
Proto
套接字使用的协议(通常是Unix)。
RefCnt
参考计数(即通过这个套接字附加的进程)。
Flags
所显示的标志是SO_ACCEPTON (显示为ACC)、SO_WAITDATA(W)或SO_NOSPACE(N)。如果未连接套接字的相应进程正在等待连接请求,则在未连接套接字上使用SO_ACCECPTON。其他的标志不正常。
Type
可能的几种值:
SOCK_DGRAM,套接字以数据报(无连接)模式使用。
SOCK_STREAM,这是一个流(连接)套接字。
SOCK_RAW,套接字用作原始套接字。
SOCK_RDM,这个服务提供可靠传递的消息。
SOCK_SEQPACKET,这是一个顺序的数据包套接字。
SOCK_PACKET,原始接口访问套接字。
UNKNOWN,不知道的状态
State
FREE,套接字还没有分配
LISTENING,套接字正在监听请求。
CONNECTING,套接字正在尝试连接。
CONNECTED,套接字已经连接。                  
DISCONNECTING,套接字断开连接。
(empty),套接字没有连接到其他地方。
UNKNOWN,未知的状态
PID/Program name
打开套接字的进程ID(PID)和进程名。更多信息可在上面写的活动互联网连接部分获得。
Path
这是连接到套接字上的相应进程的路径名。

5、文件
     /etc/services,服务翻译文件
     /proc,proc文件系统的挂载点,它允许访问内核状态。
     /proc/net/dev,设备信息。
     /proc/net/raw,raw套接字信息。
     /proc/net/tcp,tcp套接字信息。
     /proc/net/udp,udp套接字信息。
     /proc/net/igmp,IGMP多播信息。
     /proc/net/unix,Unix域名套接字信息。
     /proc/net/ipx,IPX套接字信息。
     /proc/net/ax25,AX25套接字信息。
     /proc/net/appletalk,DDP (appletalk) 套接字信息。
     /proc/net/nr,NET/ROM套接字信息
     /proc/net/route,IP路由信息。
     /proc/net/ax25_route,AX25路由信息。
     /proc/net/ipx_route,IPX路由信息。
     /proc/net/nr_nodes,NET/ROM 节点列表。
     /proc/net/nr_neigh,NET/ROM邻居。
     /proc/net/ip_masquerade,伪装连接。
     /proc/net/snmp,静态。


6、实例
1)显示指定类型的网络信息
[root@localhost ~]# netstat -A inet             //指定网络类型inet
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address              Foreign Address            State      
udp        0      0 192.168.0.113:33423        192.168.0.1:domain         ESTABLISHED
udp        0      0 192.168.0.113:40242        192.168.1.1:domain         ESTABLISHED
udp        0      0 192.168.0.113:50786        192.168.0.1:domain          ESTABLISHED
2)显示路由表
[root@localhost ~]# netstat –r                 //显示路由表
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
255.255.255.255 -               255.255.255.255 !H        - -          - -
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
224.0.0.0       -               255.255.255.0   !         - -          - -
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
3)显示网卡状态
[root@localhost ~]# 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   121817      0      0      0    79998      0      0      0 BMRU
lo        16436   0     8374      0     0      0     8374      0      0      0 LRU




使用道具 举报

回复
论坛徽章:
0
136#
 楼主| 发表于 2019-2-27 14:43 | 只看该作者
ping
      ping指令可以发送ICMP请求到目标地址,如果网络功能正常,目标主机会给出回应信息。ping使用ICMP协议强制发送ECHO_REQUEST报文到目标主机,从主机或网关获取ICMP ECHO_RESPONSE。ECHO_REQUESTt数据报(‘pings’)有一个IP和ICMP报头,后面跟着一个timeval结构体,然后是用于填充数据包的任意数量的“pad”字节。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     ping [选项]  destination

2、选项列表
选项
说明
-a
可听的ping
-A
自适应平包间隔适应往返时间,因此有效地不超过一个(或多个,如果设置了预加载)未回答的探针在网络中存在。对于非超级用户,最小间隔为200毫秒。在RTT低的网络上,这种模式实质上等同于flood模式。
-b
允许ping广播地址
-B
不允许ping更改探针的源地址。当ping启动时,该地址绑定到选定的地址。
-c count
指定ping的次数
-d
在所使用的套接字上设置SO_DEBUG选项。实际上,linux内核不使用这个套接字选项。
-F flowlabel
在回送请求数据包上分配和设置20位flow label。(只有平6)。如果值为零,内核将分配随机flow label。
-f
极限检测,不等收到回复就发送下一个请求,只有超级管理员才可以使用
-i interval
指定发送的时间间隔
-Iinterfaceaddress
将源地址设置为指定的接口地址。参数可以是数字IP地址或设备名称。当选择ipv 6链路本地地址时,此选项是必需的。
-l preload
如果指定了预加载preload,ping将发送许多未等待回复的数据包。只有超级用户才能选择超过3的预加载
-L
抑制组播数据包的回送。此标志仅适用于ping目标为多播地址的情况
-n
用数字方式显示
-p pattern
您可以指定多达16个“PAD”字节来填充您发送的数据包。这对于诊断网络中与数据相关的问题很有用
-Q tos
在ICMP数据报中设置与服务相关的比特的质量。TOS可以是十进制数,也可以是十六进制数。传统上(RFC 1349),它们被解释为:0表示保留(当前被重新定义为拥塞控制),1-4表示服务类型,5-7表示优先级。服务类型的可能设置是:最低成本:0x02,可靠性:0x04,吞吐量:0x08,低延迟:0x10。不能同时设置多个TOS位。特殊优先级的可能设置范围从优先级(0x20)到净控制(0xe0)。
-q
不显示执行过程
-r
忽略正常的路由表
-R
记录路由
-spacketsize
指定数据包的大小
-S sndbuf
设置套接字发送缓冲区sndbuf。如果没有指定,则选择它来缓冲不超过一个数据包
-t ttl
指定数据包的生存期TTL
-Ttimestampoption
设置特殊的ip时间戳选项。可以是tsonly (only timestamps), tsandaddr (timestamps and addresses) or tsprespec  host1  [host2 [host3 [host4]]] (timestamp prespecified hops)
-M hint
选择路径MTU发现策略,可以是do(禁止碎片,即使是本地的)、want(当数据包大小较大时,在本地发现pmtu)、don’t(不设置DF标志)
-U
打印完整的user-to-user延迟
-wdeadline
在ping退出之前指定一个超时(以秒为单位),而不管发送或接收了多少数据包。
-Wtimeout
等待响应的时间,以秒为单位。该选项只影响任何响应的超时,否则ping将等待两个RTT
-v
显示详细执行过程
-V
显示版本

3、ICMP报文
     没有选项的IP报头是20个字节。ICMP echo_Request数据包包含另外8字节的ICMP报头,后面跟着任意数量的数据。当给定一个数据包大小时,这表明了这个额外数据块的大小(缺省值为56)。因此,在ICMP ECHO_REPLY类型的IP数据包中接收的数据量总是比请求的数据空间(ICMP报头)多8个字节。
     如果数据空间至少是结构体timeval的大小,Timeval ping使用这个空间的起始字节来包含它在计算往返时间时使用的时间戳。如果数据空间较短,则不提供往返时间。

4、 重复和损坏的数据包
     ping将报告重复和损坏的数据包。重复的数据包不应该发生,似乎是由不适当的链路级重传引起的.重复可能在许多情况下发生,很少(如果有的话)是一个好的迹象,尽管低水平的重复可能并不总是引起恐慌。损坏的数据包显然是引起警报的严重原因,并且经常表示ping数据包路径(网络中或主机中)的某个硬件出现故障。

5、尝试不同的数据模式
     (内部)网络层不应根据数据部分中包含的数据对分组进行不同的处理。不幸的是,依赖于数据的问题已经被人们知道潜入网络,并且在很长一段时间内没有被发现。在许多情况下,会出现问题的特定模式是没有足够的“转换”的东西,例如所有的1或所有的零,或者在边缘的一个模式,例如几乎所有的零。仅仅指定命令行上所有零的数据模式(例如)并不一定足够,因为感兴趣的模式是在数据链接级别上,而且您键入的内容与控制器发送的内容之间的关系可能很复杂。
     这意味着,如果您有一个数据依赖的问题,您可能需要做大量的测试才能找到它。如果幸运的话,您可能会设法找到一个文件,该文件要么无法通过您的网络发送,要么需要比其他类似长度的文件更长的传输时间。然后,您可以检查这个文件是否有重复的模式,可以使用ping的-p选项进行测试。

6、TTL
     IP数据包的TTL值表示数据包在被丢弃之前可以通过的最大IP路由器数。在当前的实践中,您可以期望Internet中的每个路由器将TTL字段减少一个。TCP/IP规范规定,TCP数据包的TTL字段应该设置为60,但许多系统使用较小的值(4.3BSD使用30,4.2使用15)。该字段的最大可能值为255,大多数Unix系统将ICMP ECHO_REQUEST数据包的TTL字段设置为255。这就是为什么您会发现您可以“ping”一些主机,但不能通过telnet(1)或ftp(1)到达它们。
     在正常操作中,ping从它接收的数据包打印ttl值。当远程系统收到ping数据包时,它可以在响应中使用ttl字段执行以下三项任务之一。
     1)不改变它;这是Berkeley Unix系统在4.3BSDTahoe发布之前所做的事情。在这种情况下,接收到的数据包中的TTL值将为255减去往返路径中的路由器数量。
     2)将其设置为255;这是目前BerkeleyUnix系统所做的。在这种情况下,接收到的数据包中的TTL值将为255减去从远程系统到ping主机的路径中的路由器数量。
     3)将其设置为其他值。有些机器对ICMP数据包使用的值与它们对TCP数据包使用的值相同,例如30或60。其他人可能会使用完全狂野的价值观。

7、实例
1)ping广播地址
[root@localhost ~]# ping  192.168.1.255
Do you want to ping broadcast? Then -b
[root@localhost ~]# ping -b 192.168.1.255                  //只有使用-b选项才能ping广播地址
WARNING: pinging broadcast address
PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.219 ms
64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.282 ms
64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.215 ms
64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.268 ms
^C
--- 192.168.1.255 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3684ms
rtt min/avg/max/mdev = 0.215/0.246/0.282/0.029 ms
2)测试目标地址是否畅通
[root@localhost ~]# ping -c 4 192.168.1.8                //指定发送数据包的次数
PING 192.168.1.8 (192.168.1.8) 56(84) bytes of data.
64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.427 ms
64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.196 ms
64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.220 ms
64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.329 ms
--- 192.168.1.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.196/0.293/0.427/0.092 ms



使用道具 举报

回复
论坛徽章:
0
137#
 楼主| 发表于 2019-3-1 11:11 | 只看该作者
tracepath
      tracepath指令可以追踪数据到达目标主机的路由信息,同时还能够发现MTU值。它跟踪路径到目的地,沿着这条路径发现MTU。它使用UDP端口或一些随机端口。它类似于Traceroute,只是不需要超级用户特权,并且没有花哨的选项。tracepath 6很好地替代了tracerout 6和Linux错误队列应用程序的典型示例。tracepath的情况更糟,因为商用IP路由器在ICMP错误消息中没有返回足够的信息。很可能,当它们被更新的时候,它会改变
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     tracepath [ -n]  [ -l pktlen]  destination [ port]

2、选项列表
选项
说明
-n
不查看主机名字
-l
设置初始化的数据包长度,默认65535

3、输出
root@mops:~ # tracepath6 3ffe:2400:0:109::2
1?: [LOCALHOST]                             pmtu 1500
1:  dust.inr.ac.ru                   0.411ms
2:  dust.inr.ac.ru        asymm  1   0.390ms pmtu 1480
2:  3ffe:2400:0:109::2               463.514ms reached
Resume: pmtu 1480 hops 2 back 2
     第一列显示探针的TTL,后面是冒号。通常TTL的值是从网络中得到的,但有时回复并不包含必要的信息,我们不得不猜测它。在这种情况下,数字后面跟着?。
     第二列显示网络跳,对探测作出答复。如果探测未发送到网络,则为路由器地址或者[localhost]地址。
行的其余部分显示了有关到达相关工作跳的路径的各种信息。作为规则,它包含RTT的值。此外,它可以显示路径MTU,当它改变。如果路径是不对称的,或者探测在到达指定跳之前完成,则显示前向和后向跳数之间的差异。这一信息不可靠。F.E.第三行显示1的不对称性,这是因为第一次TTL为2的探针在第一跳时由于路径MTU发现而被拒绝。
     最后一行总结了到达目的地的所有路径的信息,显示了检测到的路径MTU、到达目的地的跳数以及我们对从目的地到我们的跳数的猜测,这在路径不对称时可能有所不同。

4、实例
     追踪到www.qq.com的路由
[root@localhost ~]# ping -c 2 www.qq.com                     //ping目标地址,可以看到目标ip
PING www.qq.com (111.30.132.101) 56(84) bytes of data.
64 bytes from 111.30.132.101: icmp_seq=1 ttl=53 time=23.9 ms
64 bytes from 111.30.132.101: icmp_seq=2 ttl=53 time=33.0 ms
[root@localhost ~]# tracepath www.qq.com                    //追踪路由
1:  192.168.1.9 (192.168.1.9)                              0.067ms pmtu 1500
1:  192.168.1.1 (192.168.1.1)                              3.569ms
1:  192.168.1.1 (192.168.1.1)                             4.055ms
2:  192.168.1.1 (192.168.1.1)                             17.651ms pmtu 1492
2:  10.46.80.1 (10.46.80.1)                               13.434ms
3:  183.203.226.201 (183.203.226.201)                      9.547ms
4:  211.138.99.57 (211.138.99.57)                         70.194ms asymm  5
5:  221.183.14.5 (221.183.14.5)                           17.023ms
6:  221.176.19.237 (221.176.19.237)                      206.968ms
7:  221.183.8.149 (221.183.8.149)                         29.488ms asymm  8
8:  221.183.27.106 (221.183.27.106)                       57.434ms
9:  111.30.145.34 (111.30.145.34)                         27.426ms




使用道具 举报

回复
论坛徽章:
0
138#
 楼主| 发表于 2019-3-3 10:15 | 只看该作者
traceroute
      traceroute指令输出到目标主机的路由包。Traceroute跟踪从IP网络到给定主机的路由数据包。它利用IP协议的生存时间(TTL)字段,并试图在通往主机的路径上从每个网关激发ICMP TIME_SUBERS响应。
traceroute6等价于“traceroute -6
唯一需要的参数是目标主机的名称或IP地址。探测数据包的总大小(IPv 4默认为60字节,IPv 6为80字节)是一个可选参数。在某些情况下,可以忽略指定的大小或将其增加到最小值。
该程序试图跟踪IP数据包将遵循的路由到某些Internet主机,方法是使用一个小的ttl(生命时间)启动探测包,然后从网关侦听ICMP“时间超过”的答复。我们以1开头,然后增加1,直到我们得到一个ICMP“端口不可达”(或TCP重置),这意味着我们到达了“主机”,或者达到了最大值(默认为30跳)。在每个ttl设置处发送三个探针(默认情况下),并打印一行,显示每个探针的ttl、网关地址和往返时间。在请求时,可以在地址之后添加其他信息。如果探测答案来自不同的网关,则将打印每个响应系统的地址。如果在5.0秒(默认)内没有响应,则会为该探针打印一个“*”(星号)。
追踪结束后,可以打印一些附加注释:!h、!n或!P(主机、网络或协议不可达)、!s(源路由失败)、!F(所需碎片化)、!X(管理上禁止通信)、!v(主机优先级冲突)、!C(有效的优先截止),或!<num>(ICMP不可达代码<num>)。如果几乎所有的探测器都导致某种无法到达的情况,Traceroute就会放弃并退出。
我们不希望目标主机处理UDP探测包,因此目标端口被设置为一个不太可能的值(您可以使用-p标志更改它)。ICMP或TCP跟踪不存在这样的问题(对于TCP,我们使用半开放技术,这样可以防止目标主机上的应用程序看到我们的探测)。
在现代网络环境下,由于防火墙的广泛应用,传统的traceroute方法并不总是适用的。这样的防火墙过滤“不太可能”的UDP端口,甚至ICMP回音。为了解决这个问题,还实现了一些额外的跟踪方法
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

2、        语法
traceroute [-46dFITUnreAV]  [-f first_ttl]  [-g gate,…]  [-i device]  [-m max_ttl]  [-p port]  [-s src_addr]
[-q nqueries]  [-N squeries]  [-t tos]  [-l flow_label]  [-w waittime]  [-z sendwait]
[-UL] [-P proto]  [--sport=port] [-M method]  [-O mod_options]  [--mtu]  [--back] host  [packet_len]

3、选项列表
选项
说明
--help
显示帮助信息
-V | --version
显示版本信息
-4 | -6
显式强制IPv4或IPv6跟踪。默认情况下,程序将尝试解析给定的名称,并自动选择适当的协议。如果解析主机名同时返回ipv4和ipv6地址,traceroute将使用ipv4。
-I
使用ICMP进行路由探测
-T
使用TCP协议的SYN进行路由探测
-d
是能socket调试功能
-f first_ttl
指定第一个数据包的TTL,默认是1
-F
不使用碎片
-g gateway
告诉Traceroute将IP源路由选项添加到传出数据包,该数据包通知网络通过指定网关路由数据包(大多数路由器出于安全原因禁用了源路由)。通常,允许多个网关(逗号分隔)。对于IPv 6,num,addr,addr.允许使用,其中num是路由标头类型(默认为类型2)。注意,0类型的路由头现在已不再推荐使用(Rfc 5095)
-i interface
指定网络接口
-m max_ttl
指定最大ttl,默认30
-N squeries
指定同时发送的探测数据包的数量。同时发送几个探针可以大大加快示踪速度。默认值为16。
-n
使用ip地址,不使用hostname
-p port
指定UDP端口
-t tos
对于IPv 4,设置服务类型(TOS)和优先级值。有用的值是16(低延迟)和8(高吞吐量)。注意,为了使用一些TOS优先级值,您必须是超级用户。对于IPv 6,设置流量控制值。
-w waittime
指定等待应答的时间,默认5s
-q nqueries
设置每个跳的探测数据包数。默认为3
-r
忽略正常的路由表
-s
指定发送数据包的ip地址
-z
探测之间的最小时间间隔(默认为0)。如果值大于10,则它指定一个以毫秒为单位的数字,否则为秒数(浮点值也允许)。当某些路由器对icmp消息使用速率限制时非常有用。
-e
显示ICMP扩展(Rfc 4884)。一般形式是类/类型:后面是十六进制转储。MPLS(Rfc 4950)以一种形式显示出来“MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL
-A
在路由注册表中执行路径查找,并在相应地址之后直接打印结果。
高级选项

--sport=port
选择要使用的源端口
-M method
对traceroute操作使用指定的方法。默认的传统UDP方法有名称Default,ICMP(-I)和TCP(-T)分别有ICMP和TCP。特定于方法的选项可以通过-O传递。
-O option
指定一些特定于方法的选项。几个选项用逗号分隔(或在cmdline上使用多个-O)。每种方法都可能有自己的特定选项,或者许多方法根本没有它们
-U
使用UDP对特定的目标端口进行跟踪(而不是增加每个探针的端口)。默认端口为53(DNS)
-UL
使用UDPLITE追踪
-P protocol
使用指定协议的原始数据包进行跟踪。默认协议为253(Rfc 3692)。
--mtu
沿着被追踪的路径发现MTU
--back
打印后跳数时,它似乎与前进方向不同。在假定远程跳发送初始ttl设置为64、128或255(这似乎是一种常见的做法)的情况下,猜测了这个数字。它以“-NUM”的形式打印为否定值。

4、可用的方法method
通常,特定的traceroute方法可能必须由-M名称来选择,但是大多数方法都有它们简单的命令行开关(如果存在,您可以在方法名称之后看到它们)。
method
说明
default
传统的、古老的追踪方法。默认使用。
探测包是具有所谓“不可能”目标端口的UDP数据报。第一个探针的“不可能”端口是33434,然后每个下一个探针的端口增加一个。由于预期端口未使用,目标主机通常返回“ICMP不可访问端口”作为最终响应。(但是,没有人知道当某些应用程序侦听这样的端口时会发生什么)。
这个方法普通用户就可以使用。
icmp       -I
目前最常用的方法是使用ICMP回波数据包作为探针。如果您可以ping(8)目标主机,则icmp跟踪也适用。
tcp        -T
众所周知的现代方法,旨在绕过防火墙。使用常量目标端口(默认为80,http)。
如果网络路径中存在一些过滤器,那么很可能任何“不太可能”的UDP端口(对于默认方法而言)或甚至ICMP回波(对于ICMP)都会被过滤,并且整个跟踪只会在这样的防火墙上停止。要绕过网络过滤器,我们必须只使用允许的协议/端口组合。如果我们追踪一些,比如说,邮件服务器,那么更有可能“-T –p 25”可以到达它,即使-我不能。
这种方法使用了众所周知的“半开放技术”,它可以防止目标主机上的应用程序看到我们的探测。通常,发送TCP syn。对于未被监听的端口,我们接收TCP重置,一切都完成了。对于活动侦听端口,我们接收TCP syn ack,但通过TCP重置(而不是预期的TCP ack)应答,这样即使应用程序从未注意到,远程TCP会话也会被删除。
这个方法有以下的一些选项,默认的是synsysctl
syn,ack,fin,rst,psh,urg,ece,cwr,在任意组合中为探测包设置指定的tcp标志。
flags=num,将TCP标头中的标志字段设置为num。
ecn,发送带有TCP标志ECA和CWR的syn数据包(用于显式拥塞通知,rfc 3168)
sack,timestamps,window_scaling,在传出探测包中使用相应的tcp标头选项。
sysctl,对上面的TCP头选项和ecn使用当前sysctl(“/proc/sys/net/*”)设置。默认情况下始终设置,如果没有其他指定的话
mss=num,对maxseg tcp报头选项使用num值(当syn)
tcpconn
TCP方法的初始实现,简单使用CONNECT(2)调用,完成TCP会话的完全打开
udp       -U
使用带有常量目标端口的UDP数据报(默认为53,DNS)。也打算绕过防火墙。
注意,与TCP方法不同的是,目标主机上的相应应用程序总是接收我们的探测(带有随机数据),而且大多数都很容易被它们混淆。但是,大多数情况下,它不会响应我们的数据包,因此我们永远不会看到跟踪中的最后一跳。(幸运的是,似乎至少DNS服务器会以愤怒的方式回复)。
此方法不需要特权。
udplite   -UL
对探针使用udplite数据报(具有固定的目标端口,默认为53),此方法不需要特权。选项:
coverage=num,设置udplite范围num。
raw       -P proto
发送协议原始数据包。选项:
protocol=proto,使用IP协议Proto(默认253)

5、说明
为了加速工作,通常同时发送几个探测器。另一方面,它制造了一个“包裹风暴”,特别是在回复方向。路由器可以节流ICMP响应的速率,有些应答可能会丢失。为了避免这种情况,减少同步探测的数量,甚至将其设置为1(类似于最初的traceroute实现),即-N1。
最终(目标)主机可以丢弃一些同时进行的探测,甚至可能只回答最新的探测。它可以导致额外的“看上去像过期”啤酒花接近最后一跳。我们使用智能算法来自动检测这种情况,但如果在您的情况下它无法帮助,只需使用-N1。
为了获得更好的稳定性,您可以通过-z选项来减缓程序的工作速度,例如,在探测之间使用“-z 0.5”进行半秒暂停。
如果有些跳对每种方法都没有任何报告,那么获得某些信息的最后机会是使用“ping -R”命令(ipv4,并且仅对最近的8跳)。

6、实例
追踪到baidu的路由信息
[root@localhost ~]# ping www.baidu.com -c 1                         //ping目标,得到ip地址
PING www.a.shifen.com (111.13.100.91) 56(84) bytes of data.
[root@localhost ~]# traceroute -n www.baidu.com                   //追踪路由
traceroute to www.baidu.com (111.13.100.92), 30 hops max, 60 byte packets
1  192.168.1.1  4.124 ms  3.936 ms  3.882 ms
2  10.46.80.1  8.917 ms  9.238 ms  9.233 ms
3  183.203.226.201  12.855 ms  12.788 ms  12.802 ms
4  221.180.30.197  12.792 ms 221.180.30.45  12.776 ms  12.762 ms
5  221.183.47.225  13.526 ms  13.363 ms  13.259 ms
6  221.183.37.249  26.798 ms  23.556 ms  26.832 ms
7  * * *
8  111.13.98.101  20.569 ms  20.460 ms 111.13.98.93  24.463 ms
9  111.13.98.93  27.215 ms 111.13.98.101  20.895 ms 111.13.112.53  26.946 ms
10  111.13.108.5  24.136 ms 111.13.112.57  23.754 ms 111.13.112.61  23.712 ms




使用道具 举报

回复
论坛徽章:
0
139#
 楼主| 发表于 2019-3-4 08:45 | 只看该作者
ip
      ip指令可以显示或操作路由、网路设备,设置路由策略和通道。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     ip [选项]  OBJECT  COMMAND [help]
     OBJECT对象可以是:link,网络设备;addr,设备的协议地址;route,路由表;rule,策略;neigh,arp缓存;tunnel,ip通道;maddr,多播地址;mroute,多播路由
     COMMAND是操作命令,不同的对象有不同的命令配置。
     link对象支持的命令:set、show。
     addr对象支持的命令:add、del、flush、show。
     route对象支持的命令:list、flush、get、add、del、change、append、replace、monitor。
     rule对象支持的命令:list、add、del、flush。
     neigh对象支持的命令:add、del、change、replace、show、flush。
     tunnel对象支持的命令:add、change、del、show。
     maddr支持的命令:add、del。
     mroute支持的命令:show

2、选项列表
选项
说明
-V | -Version
显示版本信息
--help
显示帮助信息
-s | -stats | -statistics
显示详细的信息
-f | -family
指定协议类型
-4
等同-family inet
-6
等同-family inet6
-0
等同-family link
-o | -oneline
每条记录输出一行
-r | -resove
使用系统名字解析DNS

3、ip link---网络设备配置
     链路是一种网络设备,相应的命令显示和改变设备的状态。
     1)ip link set,改变设备属性
     devNAME(default),NAME指定要操作的网络设备。配置SR-IOV虚拟功能(VF)设备时,此关键字应指定关联的物理功能(PF)设备。
     updown,改变设备的状态,开或者关。
     arp onarp off,更改设备的NOARP标志。
     multicast onmulticast off,更改设备的MULTICAST标志。
     dynamic ondynamic off,更改设备的DYNAMIC标志。
     nameNAME,更改设备的名字,如果设备正在运行或者已经有一个配置好的地址,那么操作无效。
     txqueuelenNUMBER,txqlenNUMBER,更改设备发送队列的长度。
     mtuNUMBER,更改设备MTU。
     addressLLADDRESS,更改接口的站点地址
     broadcastLLADDRESS,brdLLADDRESS,peerLLADDRESS,当接口为POINTOPOINT时,更改链路层广播地址或对等地址。
     netnsPID,将设备移动到与进程PID关联的网络命名空间
     aliasNAME,给设备一个符号名以便于参考
     vfNUM,指定要配置的虚拟功能设备。必须使用dev参数指定关联的pf设备。
     警告:如果请求更改多个参数,则在任何更改失败后立即中止IP。这是IP能够将系统移动到不可预测状态的唯一情况。解决方案是避免使用一个ip链路集调用来更改多个参数。
     2)ip link show,显示设备属性
     devNAME(default),NAME指定要显示的网络设备。如果省略此参数,则列出所有设备。
     up,只显示运行的设备。

4、ip address---协议地址管理
     该地址是附加到网络设备上的协议(IP或IPv 6)地址。每个设备必须至少有一个地址才能使用相应的协议。可以将几个不同的地址附加到一个设备上。这些地址不受歧视,因此别名一词不太适合它们,我们在本文件中也没有使用它。ip addr命令显示地址及其属性,添加新地址并删除旧地址。
     1)ip address add,增加新的协议地址
     devNAME,要向其添加地址的设备的名称。
     localADDRESS(default),接口的地址。地址的格式取决于协议。它是一个用于IP的虚线四边形和一系列十六进制半字,用冒号分隔用于IPv 6。地址后面可以是斜杠和十进制数,它们编码网络前缀长度。
     peerADDRESS,点对点接口的远程端点的地址。同样,地址后面可以是斜杠和十进制数,编码网络前缀长度。如果指定了对等地址,则本地地址不能具有前缀长度。网络前缀与对等端相关联,而不是与本地地址相关联。
     broadcastADDRESS,接口的广播地址。可以使用特殊符号“和”-“代替广播地址。在这种情况下,通过设置/重置接口前缀的主机位来导出广播地址。
     labelNAME,每个地址都可以用标签字符串标记。为了保持与Linux2.0网络别名的兼容性,此字符串必须与设备名称重合,或者必须以设备名后跟冒号作为前缀。
     scopeSCOPE_VALUE,地址有效的区域的范围。可用的作用域列在文件“/etc/iproute2/rt_scopes“中。预定义的范围值是:
     Ⅰ)global,地址全局有效。
     Ⅱ)site,(仅IPv 6)该地址为站点本地地址,即该地址在此站点内有效。
     Ⅲ)link,该地址是本地链接,即它仅在此设备上有效。
     Ⅳ)host,该地址仅在此主机内有效。
     2)ip address delete,删除协议地址
     Arguments:与“ip addr add“的参数一致。设备名称是必需的参数。其余的都是可选的。如果没有提供参数,则删除第一个地址。
     3)ip address show,显示协议地址
     devNAME(default),设备名字
     scopeSCOPE_VAL,仅列出具有此作用域的地址。
     toPREFIX,仅列出匹配PREFIX的地址。
     labelPATTERN,只列出与模式匹配的标签的地址。
     dynamic,permanent,仅IPv 6)仅列出由于无状态地址配置而安装的地址,或只列出永久(非动态)地址。
     tentative,(仅IPv 6)仅列出未通过重复地址检测的地址。
     deprecated,(仅IPv 6)仅列出废弃地址
     primarysecondary,只列出主(或辅助)地址。
     4)ip address flush,刷新协议地址
     此命令刷新由某些条件选择的协议地址。此命令具有与Show相同的参数。不同之处在于,当不给出参数时,它不会运行。警告:这个命令(以及下面描述的其他刷新命令)非常危险。如果你犯了一个错误,它不会原谅它,而是会残酷地清除所有的地址。
     使用-statistics选项,命令变得详细。它打印出已删除地址的数量和为刷新地址列表而进行的轮次数。如果提供了两次此选项,则“ip addr flush“也会以上一小节描述的格式转储所有已删除的地址。

5、ip addrlabel---协议地址标签管理
     IPv 6地址标签用于RFC 3484中描述的地址选择。优先级由用户空间管理,只有标签存储在内核中。
     1)ip addrlabel add,增加地址标签
     prefixPREFIX,devDEV,输出接口。
     labelNUMBER,prefix的标签,0xffffffff保留。
     2)ip addrlabel del,删除地址标签
     该命令删除内核中的一个地址标签条目。参数:与“ip addrlabel add“的参数一致,但不需要标签。
     3)ip addrlabel list,列出地址标签
     显示地址标签的内容。
     4)ip addrlabel flush,刷新地址标签
     刷新地址标签的内容,并且不保存默认设置。

6、ip neighbour---邻居/ARP表管理
     邻居对象为共享相同链路的主机建立协议地址和链路层地址之间的绑定。邻接条目被组织成表。IPv 4邻居表的另一个名称是ARP表。相应的命令显示邻居绑定及其属性,添加新的邻居项并删除旧条目。
     1)ip neighbour add,增加邻居表
     2)ip neighbour change,改变已经存在的邻居表
     3)ip neighbour replace,增加一个表或者修改已经存在的表
     这些命令创建新的邻居记录或更新现有记录。上面的三个命令使用方法如下:
     toADDRESS(default),邻居的协议地址。它要么是IPv4,要么是IPv6地址。
     devNAME,连接到邻居的接口。
     lladdrLLADDRESS,邻居的链路层地址,可以是null。
     nudNUD_STATE,邻居的状态,可以是下面的值:
     Ⅰ)permanent,邻居项永远有效,只能内管理员删除。
     Ⅱ)noarp,邻居项有效。将不会尝试验证此条目,但可以在其生存期届满时删除该条目。
     Ⅲ)reachable,邻居项在可达超时过期之前是有效的。
     Ⅳ)stale,邻居的进入是有效的,但却是可疑的。如果邻居状态有效且此命令未更改地址,则此选项不会更改邻居状态。
     4)ip neighbour delete,删除邻居表
     此命令使邻居项无效。这些参数与“ip neigh add“相同,只是将忽略lladdrnud。警告:试图删除或手动更改内核创建的noarp条目可能会导致不可预测的行为。特别是,即使在NOARP接口上,如果地址是多播或广播的,内核也可以尝试解析此地址。
     5)ip neighbour show,显示邻居表
     toADDRESS(default),选择要列出的邻居的前缀
     devNAME,只列出与此设备相连的邻居
     unused,只列出当前未使用的邻居
     nudNUD_STATE,只列出此状态中的相邻项。NUD_STATE接受下面列出的值或特殊值all,这意味着所有状态。此选项可能发生不止一次。如果没有此选项,则IP列出除None和noarp以外的所有条目。
     6)ip neighbour flush,刷新邻居表
     此命令刷新相邻表,根据某些条件选择要刷新的条目。此命令具有与show相同的参数。不同之处在于,当不给出参数时,它不会运行,而要刷新的默认邻居状态不包括permanentnoarp

7、ip route—路由表管理
     操纵内核路由表中的路由条目保存其他网络节点的路径信息。路由类型可以是:
     Ⅰ)unicast,路由条目描述到路由前缀所涵盖的目的地的实际路径。
     Ⅱ)unreachable,这些目的地是无法到达的。丢弃数据包,生成不可访问的ICMP消息主机。本地发件人得到一个EHOSTUNEACH错误。
     Ⅲ)blackhole,这些目的地是无法到达的。数据包被静默丢弃。本地发送者得到一个EINVAL错误
     Ⅳ)prohibit,这些目的地是无法到达的。丢弃数据包并生成ICMP消息通信,该ICMP消息通信在管理上被禁止。本地发件人得到一个EACCES错误。
     Ⅴ)local,目的地分配给此主机。数据包被环回并在本地传送。
     Ⅵ)broadcast,目的地是广播地址。数据包作为链路广播发送。
     Ⅶ)throw,与策略规则一起使用的特殊控制路径。如果选择这样的路由,则将终止此表中的查找,假装没有找到路由。如果没有策略路由,则相当于路由表中没有路由。丢包并生成不可到达的ICMP消息网。本地发送者得到一个ENETUNEACH错误。
     Ⅷ)nat,一条特殊的NAT路线。前缀覆盖的目的地被认为是虚拟地址(或外部地址),需要在转发之前转换为真实地址(或内部地址)。选择要转换到的地址,并附带属性警告:Linux2.6中不再支持路由NAT。
     Ⅸ)viaanycast,未实现目标是分配给此主机的任意广播地址。它们主要等同于本地地址,但有一个不同之处:当将这些地址用作任何数据包的源地址时,这些地址是无效的。
     multicast,用于多播路由的一种特殊类型。它不存在于普通路由表中。
     路由表:Linux-2.x可以将路由打包到从1到255范围内的数字标识的多个路由表中,或者根据文件/etc/iucte 2/rt_tables的名称,默认情况下,所有普通路由都插入主表(ID 254),内核只在计算路由时使用此表。实际上,另一个表总是存在的,这是不可见的,但更重要的是。它是本地表(ID 255)。此表由本地地址和广播地址的路由组成。内核自动维护这个表,管理员通常不需要修改它,甚至不需要查看它。使用策略路由时,多个路由表进入游戏。
     1)ip route add,增加路由
     2)ip route change,修改路由
     3)ip route replace,改变或者增加路由
     toTYPEPREFIX(default),路由的目标前缀。如果省略类型,则IP采用类型单播。以上列出了其他类型的值。前缀是一个IP或IPv 6地址,后面有斜杠和前缀长度。如果前缀的长度丢失,则IP将采用全长主机路由.还有一个特殊的前缀默认值-相当于“IP 0/0“或者”to IPv6 ::/0“
     tosTOS,dsfieldTOS,服务类型(TOS)密钥。该密钥没有关联的掩码,最长的匹配被理解为:首先,比较路由和数据包的TOS。如果它们不相等,那么数据包仍然可以匹配为零TOS的路由。TOS要么是8位十六进制数字,要么是“/etc/iproute2/rt_dsfield“中的标识符。
     metricNUMBER,preferenceNUMBER,路由的首选值。NUMBER是任意32位数。
     tableTABLEID,要添加此路由的表。TABLEID可能是文件“/etc/iproute2/rt_tables“中的一个数字或字符串。如果省略此参数,则IP假定主表,但本地路由、广播路由和NAT路由除外,默认情况下这些路由被放入本地表中。
     devNAME,输出设备名字。
     viaADDRESS,下一个路由器的地址。实际上,这个字段的意义取决于路由类型。对于普通单播路由,它要么是真正的下一跳路由器,要么是安装在BSD兼容模式下的直接路由,它可以是接口的本地地址。对于NAT路由,它是已翻译的IP目的地块的第一个地址。
     srcADDRESS,发送到路由前缀所涵盖的目的地时要首选的源地址。
     realmREALMID,指定此路由的域。REALMID可能是文件“/etc/iproute2/rt_realms“中的一个数字或字符串。
     mtuMTU,mtulockMTU,沿着到达目的地的路径的MTU。如果未使用修饰符锁,则由于路径MTU发现,内核可能更新MTU。如果使用修饰符锁,则不会尝试路径MTU发现,所有数据包都将在IPv4情况下不使用DF位发送,或者在IPv6中碎片到MTU。
     windowNUMBER,TCP向这些目的地广告的最大窗口,以字节为单位。它限制了TCP对等点允许发送给我们的最大数据突发。
     rttTIME,最初的RTT(‘往返时间’)估计。如果没有指定后缀,则单元是直接传递给路由代码的原始值,以保持与以前版本的兼容性。否则,如果使用s、sec或secs后缀指定秒,使用ms、msec或msecs指定毫秒。
     rttvarTIME(2.3.15+ only),初始RTT方差估计。值与上述RTT指定的值相同。
     rto_minTIME(2.6.23+ only),与此目标通信时要使用的最小TCP重传超时。值与上述RTT指定的值相同。
     ssthreshNUMBER(2.3.15+ only),初始慢启动阈值的估计。
     cwndNUMBER(2.3.15+ only),阻塞窗口的夹子。如果不使用锁标志,则忽略它
     initcwndNUMBER,TCP连接的MSS中的最大初始拥塞窗口(CWND)大小。
     initrwndNUMBER(2.6.33+ only),连接到此目标的初始接收窗口大小。实际窗口大小是此值乘以连接的MSS。默认值为零,意味着使用慢速开始值。
     advmssNUMBER(2.3.15+ only),MSS(“最大段大小”)在建立TCP连接时向这些目的地做广告。如果未给出,Linux将使用从第一跳设备MTU中计算出来的默认值。(如果到达这些目的地的路径是不对称的,则这种猜测可能是错误的。)
     reorderingNUMBER(2.3.15+ only),到达此目标的路径上的最大重排序。如果未给出,Linux将使用sysctl变量“net/ipv4/tcp_reordering“所选择的值。
     nexthopNEXTHOP,多径路径的下一个。NEXTHOP是一个复杂的值,其语法类似于顶级参数列表:
     Ⅰ)viaADDRESS,下一个路由器。
     Ⅱ)devNAME,输出设备
     Ⅲ)weightNUMBER,是反映其相对带宽或质量的多径路由的此元素的权重。
     scopeSCOPE_VAL,路由前缀所涵盖的目的地的范围。SCOPE_VAL可以是文件“/etc/iproute2/rt_scopes“中的一个数字或字符串。如果省略此参数,则IP假定所有网关单播路由的作用域全局、直接单播和广播路由的范围链接以及本地路由的范围主机。
     protocolRTPROTO,此路由的路由协议标识符。RTPROTO可以是文件“/etc/iproute2/rt_protos“中的一个数字或字符串。如果未给出路由协议ID,则IP假定协议启动(即假定路由是由不了解他们正在做的事情的人添加的)。一些协议值有固定的解释:
     Ⅰ)redirect,该路由是由于icmp重定向而安装的。
     Ⅱ)kernel,该路由是由内核在自动配置期间安装的。
     Ⅲ)boot,该路由是在启动过程中安装的。如果路由守护进程启动,它将清除所有这些守护进程。
     Ⅳ)static,管理员安装了该路由以覆盖动态路由。路由守护进程将尊重它们,甚至可能会向其对等方发布广告。
     Ⅴ)ra,路由是由路由器发现协议安装的。
     onlink,假装Nextthop直接连接到此链接,即使它不匹配任何接口前缀。
     equalize,允许在多径路由上逐包随机化。如果没有这个修饰符,路由将被冻结到一个选定的下一个,这样负载拆分将只发生在每个流基上。只有当内核被修补时,均衡化才能工作。
     4)ip route delete,删除路由
ip route del“与”ip route add“具有相同的参数,但它们的语义略有不同。键值(to、tos、首选项和表)选择要删除的路由。如果存在可选属性,则IP验证它们是否与要删除的路由的属性一致。如果没有找到具有给定密钥和属性的路由,则”ip route del“将失败
     5)ip route show,显示路由
     toSELECTOR(default),仅从给定的目的地范围中选择路由。SELECTOR由一个可选修饰符(rootmatchexact)和一个前缀组成。root选择前缀不小于PREFIX的路由。例如,“root  0/0“选择整个路由表。match选择前缀长度不超过PREFIX的路由。例如,”match  10.0/16“选择10.0/16、10/8和0/0,但未选择10.1/16和10.0.0/24。exact(或仅仅前缀)选择具有此前缀的路由。如果这两个选项都没有出现,则IP假设为根0/0,即它列出了整个表。
     tosTOS,只选择具有给定tos的路由。
     tableTABLEID,显示此表中的路线。默认设置是显示tablemain。TABLEID可以是实表的ID,也可以是特殊值之一:
     Ⅰ)all,列出所有的表。
     Ⅱ)cache,备份路由缓存。
     clonedcached,列出克隆的路由,即由于某些路由属性(F.E)而从其他路由动态分叉的路由。(MTU)已更新。实际上,它等同于“table cache“。
     fromSELECTOR,语法与to相同,但它绑定源地址范围而不是目的地。请注意,FROM选项仅适用于克隆路由。
     protocolRTPROTO,仅列出此路由的协议。
     scopeSCOPE_VAL,仅列出具有此范围的路由
     typeTYPE,只列出此类型的路由。
     devNAME,只列出经过此设备的路由
     viaPREFIX,只列出通过前缀选择的下一个路由器的路由
     srcPREFIX,只列出由前缀选择的首选源地址的路由。
     realmREALMID,realmsFROMREALM/TOREALM,只列出这些领域的路由。
     6)ip route flush,刷新路由表
     此命令刷新由某些标准选择的路由,参数具有与“ip route show“的参数相同的语法和语义,但是路由表没有列出,而是被清除。唯一的区别是默认操作:显示转储所有IP主路由表,但刷新打印助手页。
     使用“-statistics“选项,命令变得详细。它打印出已删除路由的数目和刷新路由表的轮数。如果该选项被给予两次,IP路由刷新也会以上一小节描述的格式转储所有已删除的路由。
     )ip route get,获取一个单独的路由
     此命令获取一条到达目标的路由,并按照内核所看到的那样打印其内容。
     toADDRESS(default),目标地址。
     fromADDRESS,源地址。
     tosTOS,dsfieldTOS,服务类型。
     iifNAME,预期将从该包到达的设备。
     oifNAME,强制将此数据包路由的输出设备。
     connected,如果没有提供源地址(选项从),则重新查找从第一次查找中接收到的源设置为首选地址的路由。如果使用策略路由,则可能是不同的路由。
     请注意,此操作不等同于“ip route show“。show显示现有路线。如果必要的话,get解决它们并创建新的克隆。

8、ip rule---路由策略数据库管理
     rule规则在路由策略数据库中控制路由选择算法。Internet中使用的经典路由算法只根据数据包的目的地地址(理论上,而不是实际中的TOS字段)进行路由决策。在某些情况下,我们希望通过不同的方式路由数据包,这不仅取决于目的地地址,还取决于其他数据包字段:源地址、IP协议、传输协议端口,甚至包有效负载。此任务称为“策略路由”。为了解决这一问题,传统的基于目标的路由表按照最长的匹配规则排序,被替换为“路由策略数据库”(RPDB),该数据库通过执行一组规则来选择路由。
     每个策略路由规则由一个选择器和一个动作谓词组成。RPDB按照增加优先级的顺序进行扫描。每个规则的选择器应用于{源地址、目标地址、传入接口、tos、fwmark},如果选择器与数据包匹配,则执行操作。动作谓词可能会成功返回。在这种情况下,它将给出路由或故障指示,并终止RPDB查找。否则,RPDB程序将继续执行下一条规则。
     语义上,自然动作是选择下一个和输出设备。在启动时,内核配置由三条规则组成的默认rpdb:
     Ⅰ)Priority: 0。Selector:匹配任何内容,Action:查找本地路由表(ID 255)。本地表是包含本地地址和广播地址的高优先级控制路由的特殊路由表。
     Ⅱ)Priority: 32766。Selector:匹配任何内容,Action:查找路由表主(ID 254)。主表是包含所有非策略路由的普通路由表.管理员可以删除和/或用其他规则重写此规则。
     Ⅲ)Priority: 32767。Selector:匹配任何内容,Action:查找路由表默认值(ID 253)。默认表为空。如果没有先前的默认规则选择数据包,则保留用于某些后处理。这一规则也可以删除。
     RPDB可能包含以下类型的规则:
     Ⅰ)unicast,该规则规定返回在规则引用的路由表中找到的路由。
     Ⅱ)blackhole,这条规则规定要悄悄丢弃数据包。
     Ⅲ)unreachable,该规则规定生成“网络不可达”错误。
     Ⅳ)prohibit,该规则规定产生“在行政上禁止通信”错误。
     Ⅴ)nat,该规则规定将ip数据包的源地址转换为其他值。
     1)ip rule add,增加规则。
     2)ip rule delete,删除规则。
     typeTYPE(default),这个规则的类型
     fromPREFIX,选择要匹配的源前缀
     toPREFIX,选择要匹配的目标前缀
     iifNAME,选择要匹配的传入设备。如果接口是回送的,则该规则只匹配来自此主机的数据包。这意味着您可以为转发包和本地数据包创建单独的路由表,从而完全隔离它们。
     tosTOS,dsfieldTOS,选择要匹配的TOS值。
     fwmarkMARK,选择要匹配的fwmark值。
     priorityPREFERENCE,这条规则的优先级。每个规则都应该有一个显式设置的唯一优先级值。选项、偏好和顺序是优先级的同义词。
     tableTABLEID,如果规则选择器匹配,则查找路由表标识符。还可以使用查找而不是表。
     realmsFROM/TO,规则匹配和路由表查找成功时要选择的区域。只有当路由没有选择任何领域时,才使用要使用的领域。
     natADDRESS,要翻译的IP地址块的基(用于源地址)。该地址可以是NAT地址块的开始(由NAT路由选择),也可以是本地主机地址(甚至为零)。在最后一种情况下,路由器不会翻译数据包,而是将它们伪装成这个地址。使用map-to而不是nat意味着同样的事情。
     3)ip rule flush,刷新规则,还转储所有已删除的规则。
     没有参数。
     4)ip rule show,显示规则
     没有参数。

9、ip maddress---多播地址管理
     1)ip maddress show,显示多播地址
     devNAME(default),设备名字
     2)ip maddress add,增加多播地址
     3)ip maddress delete,删除多播地址
     这些命令附加/分离一个静态链路层多播地址,以便在接口上侦听。请注意,不可能静态地加入协议多播组。此命令仅管理链接层地址
     addressLLADDRESS(default),链路层多播地址。
     devNAME,加入/删除多播地址的设备

10、ip mroute---多播路由缓存管理
     mroute对象是由用户级mrouting守护进程创建的多播路由缓存条目。由于组播路由引擎当前接口的局限性,无法对多播路由对象进行管理更改,因此只能显示对象
     ip mroute show,列出mroute缓存项
     toPREFIX(default),选择要列出的目标多播地址的前缀。
     iifNAME,接收多播数据包的接口。
     fromPREFIX,选择多播路由的IP源地址的前缀

11、ip tunnel---通道配置
     tunnel对象是隧道,它将数据包封装在IP包中,然后通过IP基础结构发送。加密(或外部)地址族由“-f“选项指定。默认的是ipv4。
     1)ip tunnel add,增加一个新隧道
     2)ip tunnel change,修改一个已经存在的隧道
     3)ip tunnel delete,删除隧道
     nameNAME(default),隧道设备名字。
     modeMODE,设置隧道模式。可用的模式取决于封装地址系列。IPv 4封装可用的模式:ipip、SIT、isatap和grep;IPv6封装的模式:ip6ip6、ipip6和any。
     remoteADDRESS,设置隧道的远程端点
     localADDRESS,设置隧道数据包的固定本地地址。它必须是此主机的另一个接口上的地址。
     ttlN,在隧道化的数据包上设置固定的TTL N。N是介于1-255范围内的一个数字.0是一个特殊值,意味着数据包继承TTL值。IPv 4隧道的默认值是:Inherence。IPv6隧道的默认值是:64。
     tosT,dsfieldT,tclassT,在隧道数据包上设置固定的TOS(或IPv 6中的流量类)T。默认值是:inherit。
     devNAME,将隧道绑定到设备名称,以便隧道数据包只能通过此设备路由,并且在到达端点的路由发生更改时无法逃逸到另一个设备。
     nopmtudisc,禁用此隧道上的路径MTU发现。默认情况下启用它。请注意,固定的ttl与此选项不兼容:使用固定的ttl进行隧道操作总是会使pmtu发现。
     keyK,ikey K,okey K,(只有GRE隧道)使用键控GRE与密钥K,K要么是一个数字或一个类似IP地址的虚线四边形。key参数设置在两个方向上使用的键。ikey和okey参数为输入和输出设置不同的键。
     csum, icsum, ocsum,(只有GRE隧道)生成/要求隧道数据包的校验和。ocsum标志计算传出数据包的校验和。icsum标志要求所有输入数据包都具有正确的校验和。csum标志等效于组合icsum ocsum
     seq, iseq, oseq,(只有GRE隧道)序列化数据包。oseq标志允许对传出数据包进行排序。iseq标志要求对所有输入数据包进行序列化。seq标志等效于iseq oseq组合。这不是工作。不要用它
     dscpinherit,(只有IPv 6隧道)在内部和外部报头之间继承DS字段
     encaplimELIM,设置固定的封装限制。缺省值为4
     flowlabelFLOWLABEL,(只有IPv 6隧道)设置固定的流标签。
     4)ip tunnel prl,潜在路由器列表(只有ISATAP)
     devNAME,
     prl-defaultADDR,
     prl-nodefaultADDR,
     prl-deleteADDR,
     添加或删除addr作为潜在的路由器或默认路由器
     5)ip tunnel show,列出隧道
     没有参数

12、ip monitor and rtmon---状态监控
     IP实用程序可以连续地监视设备、地址和路由的状态。此选项的格式略有不同。也就是说,监视器command是命令行中的第一个命令,然后对象列表如下:
     ip monitor  [ all | LISTofOBJECTS]
     OBJECT-LIST是我们要监视的对象类型的列表。它可能包含链接、地址和路由。如果没有提供文件参数,则IP将打开RTNETLINK,侦听该参数,并以前面部分描述的格式转储状态更改。
     如果给定文件名,则不会侦听RTNETLINK,而是打开包含以二进制格式保存的RTNETLINK消息的文件,并将其转储。可以使用rtmon实用程序生成这样的历史文件。此实用程序具有类似于IP监视器的命令行语法。理想情况下,应该在发出第一个网络配置命令之前启动rtmon。例如,如果你在一个启动脚本中插入:
     rtmon file /var/log/rtmon.log
     稍后您将能够查看完整的历史记录。当然,可以随时启动rtmon。它在历史记录的前面加上在启动时转储的状态快照。

13、ip xfrm---设置xfrm
     xfrm是一个IP框架,它可以转换数据报的格式,即用某种算法对数据包进行加密。xfrm策略和xfrm状态通过模板tmpl_list相关联。该框架被用作IPsec协议的一部分。
     1)ip xfrm state add,增加新的状态
     2)ip xfrm state update,更新已经存在的状态
     3)ip xfrm state allocspi,分配SPI数值
     MODE,设置为默认传输,但可以设置为tunnelro或者beet
     FLAG-LIST,包含一个或多个标志。
     FLAG,可以设置为noecndecap-dscpwildrecv
     ENCAP,封装设置为封装类型ENCAP-TYPE、源端口SPORT、目标端口DPORT和OADDR。
     ENCAP-TYPE,可以是espinudp或者espinudp-nonike。
     ALGO-LIST,包含一个或多个算法Algo,该算法依赖于Algo_type设置的算法类型。它可以使用这些算法encauthcomp
     4)ip xfrm policy add,增加新策略
     5)ip xfrm policy update,更新已经存在的策略
     6)ip xfrm policy delete,删除存在的策略
     7)ip xfrm policy get,过去存在的策略
     8)ip xfrm policy deleteall,删除所有的xfrm策略
     9)ip xfrm policy list,打印策略列表
     10)ip xfrm policy flush,舒心策略
     dirDIR,目录可以是inpoutfwd
     SELECTOR,选择将设置策略的地址。选择器由源地址和目标地址定义。
     UPSPEC,由源端口sport、目的端口dporttypecode定义。
     devDEV,指定网络设备。
     indexINDEX,索引策略的数量。
     ptypePTYPE,默认是main,可以切换为sub
     actionACTION,默认是allow,可以切换为block
     priorityPRIORITY,级别是一个数字,默认0。
     LIMIT-LIST,限制以秒、字节或数据包数量为单位设置。
     TMPL-LIST,模板列表基于IDmodereqidlevel。
     ID,由源地址、目标地址、proto和spi的值指定。
     XFRM_PROTO,值可以是espahcomproute2hao。
     MODE,默认transport,,还可以是tunnelbeet。
     LEVEL,默认required,还可以是use。
     UPSPEC,由sportdporttypecode指定。
     11)ip xfrm monitor,用于列出所有对象或定义的对象组。
     xfrm monitor可以监视所有对象或其中定义的组的策略。

14、ip token
     IPv 6令牌化接口标识支持用于向节点分配众所周知的主机部分地址,同时仍然从路由器广告获得全局网络前缀。令牌标识符的主要目标是服务器平台,其中的地址通常是手动配置的,而不是使用DHCPv 6或SLAAC。通过使用令牌化标识符,主机仍然可以使用SLAAC确定其网络前缀,但如果其网络前缀更改,则更容易自动重新编号[1]。
     1)ip token set,设置接口令牌
     TOKEN,接口标识符令牌地址
     devDEV,网络接口
     2)ip token get,从内核获取接口令牌
     显示特定网络设备的令牌化接口标识符。参数:与“ip token set”的参数一致,但必须省略该令牌。
     3)ip token list,列出所有接口令牌
     列出内核中网络接口的所有令牌化接口标识符

15、实例
1)显示设备的各种协议地址
[root@localhost ~]# ip addr show             //显示设备支持的协议的地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:14:33:57 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.9/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::a00:27ff:fe14:3357/64 scope link
       valid_lft forever preferred_lft forever
2)为目标设备添加地址
[root@localhost ~]# ip addr help              //查看帮助文档
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                     [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
[root@localhost ~]# ip addr add 192.168.1.110 dev eth0          //eth0添加新的ip
[root@localhost ~]# ip addr show dev eth0                         //查看eth0的地址信息,多了一个ip
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:14:33:57 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.9/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.110/32 scope global eth0
    inet6 fe80::a00:27ff:fe14:3357/64 scope link
       valid_lft forever preferred_lft forever




使用道具 举报

回复
论坛徽章:
0
140#
 楼主| 发表于 2019-3-6 10:33 | 只看该作者
iptables
      iptables指令用来设置Linux内核的ip过滤规则以及管理nat功能。iptables用于在Linux内核中设置、维护和检查IPv4数据包过滤规则表。可以定义几个不同的表。每个表包含许多内置链,也可能包含用户定义的链。每个链都是一个规则列表,可以匹配一组数据包。每条规则都指定如何处理匹配的数据包。这被称为“目标”,它可能是跳转到同一表中的用户定义链。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     iptables [-t table]  {-A|-D}  chain  rule-specification
     iptables [-t table]  -I  chain [rulenum]  rule-specification
     iptables [-t table]  -R  chain  rulenum rule-specification
     iptables [-t table]  -D  chain rulenum
     iptables [-t table]  -S  [chain [rulenum]]
     iptables [-t table]  {-F|-L|-Z}  [chain [rulenum]]  [options...]
     iptables [-t table]  -N  chain
     iptables [-t table]  -X  [chain]
     iptables [-t table]  -P  chain target
     iptables [-t table]  -E  old-chain-name  new-chain-name rule-specification = [matches...] [target]
     match = -m matchname [per-match-options]  target = -j targetname [per-target-options]
     目前Linux内核支持3个相互独立的表:filter,过滤ip数据包;nat,配置nat功能;mangle,修改ip数据包。
     filter是默认表,包含INPUT(发送给本机) 、OUTPUT(本机向外发送)、FORWARD(被路由出去)三个链。
     nat表包含PREROUTING(修改刚收到的数据包) 、OUTPUT(在路由之前处理本机产生的数据包) 、POSTROUTING(修改将要发送的数据包)三个链。
     mangle表包含PREROUTING(路由之前,修改收到的包) 、OUTPUT(路由之前,修改本机产生的包) 、INPUT(修改发送到本机的包) 、FORWARD (修改路由之后的包) 、POSTROUTING(修改将被本机发送的包)五个链。
     Linux系统中的内置目标包括:ACCEPT(允许数据包通过)DROP(丢弃数据包) QUEUE(传递包到用户空间)RETURN(停止向后检测其他的规则,返回之前的条用规则处)

2、选项列表
     选项可以按组来区分
命令
说明
-t table
指定要管理的表
-A | --append chain rule-specification
追加记录
-D | --delete chain rule-specification
删除记录
-I | --insert chain [rulenum] rule-specification
插入记录
-R | --replace chain [rulenum] rule-specification
替换记录
-L | --list [chain]
列出记录
-S | --list-rules [chain]
列出已选择链的所有规则。如果没有选择任何链,则所有链都打印
-F | --flush [chain]
删除指定的记录
-Z | --zero [chain [rulenum]]
将数据计数和字节计数清零
-N | --new-chain chain
用户自定义新链
-X | --delete-chain [chain]
删除用户自定义链
-P | --policy chaintarget
为指定的链设置策略
-E | --rename-chain old new
重命名链
-h
显示帮助信息
参数
说明
[!] –p | --protocol protocol
指定协议类型tcp、udp、icmp、all,协议前加!标识否定
[!] –s |  --sourceaddress[/mask][,…
源地址
[!] –d
--destinationaddress[/mask][,…
目标
-j | --jump
指定跳转的目标
-g | --goto chain
这指定应在用户指定的链中继续处理。与“--jump”选项不同,返回将不再在此链中继续处理,而是在通过“--jump”调用我们的链中继续处理。
[!] –i | --in-interface name
接收数据包的接口名称(仅用于输入、转发和PREROUTING链的数据包)。当“!”参数在接口名称之前使用,意义被倒置。如果接口名以“+”结尾,则以此名称开头的任何接口都将匹配。如果省略此选项,则任何接口名称都将匹配。
-o | --out-interfacename
指定数据包离开的网络接口
[!] –f | --fragment
这意味着该规则仅指分段数据包的第二段和更多的片段。
-c | --set-counters packets bytes
这使管理员能够初始化规则的数据包和字节计数器(在插入、追加、替换操作期间)。
其他选项
说明
-v | --verbose
冗长的输出,该选项使List命令显示接口名称、规则选项(如果有的话)和TOS掩码。还列出了数据包计数器和字节计数器
-n | --numeric
数字输出IP地址和端口号将以数字格式打印。默认情况下,程序将尝试将它们显示为主机名、网络名称或服务(只要适用)。
-x | --exact
扩大数字。显示数据包和字节计数器的确切值,而不是只显示K‘s(1000倍)M’s(1000 K倍数)或G‘s(1000 m倍数)中的四舍五入数。此选项仅与-L命令相关。
--line-numbers
当列出规则时,将行号添加到每条规则的开头,对应于该规则在链中的位置。
--modprobe=command
在向链中添加或插入规则时,使用命令加载任何必要的模块(目标、匹配扩展等)


使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表