centos arp(centos怎么下载软件)
linuxarp命令linuxarp
如何在我的linux查看我的arp表格?
LinuxArp命令显示和修改地址解析协议(ARP)使用的“IP到物理”地址转换表。
ARP-sinet_addreth_addrARP-dinet_addrARP-a-a通过询问当前协议数据,显示当前ARP项。
如果指定inet_addr,则只显示指定计算机的IP地址和物理地址。
如果不止一个网络接口使用ARP,则显示每个ARP表的项。-g与-a相同。
-v在详细模式下显示当前ARP项。所有无效项和环回接口上的项都将显示。
inet_addr指定Internet地址(IP地址)。
-Nif_addr显示if_addr指定的网络接口的ARP项。
-d删除inet_addr指定的主机。
inet_addr可以是通配符*,以删除所有主机。-s添加主机并且将Internet地址inet_addr与物理地址eth_addr相关联。
物理地址是用连字符分隔的6个十六进制字节。该项是永久的。
eth_addr指定物理地址。
if_addr如果存在,此项指定地址转换表应修改的接口的Internet地址。如果不存在,则使用第一个适用的接口。
示例:添加静态项。
这个很有用,特别是局域网中中了arp病毒以后#arp-s123.253.68.20900:19:56:6F:87:D2#arp-a....显示ARP表。但是arp-s设置的静态项在用户登出之后或重起之后会失效,如果想要任何时候都不失效,可以将ip和mac的对应关系写入arp命令默认的配置文件/etc/ethers中例如:引用root@ubuntu:/#vi/etc/ethers211.144.68.25400:12:D9:32:BF:44写入之后执行下面的命令就好了引用arp-f/etc/ethers为保证重起之后绑定仍然有效,需要把上述命令写入/etc/ethersARP(AddressResolutionProtocol),或称地址解析协议。
本地机向某个IP地址--目标机IP地址发送数据时,先查找本地的ARP表,如果在ARP表中找到目标机IP地址的ARP表项,(网络协议)将把目标机IP地址对应的MAC地址放到MAC包的目的MAC地址字段直接发送出去;如果在ARP表没有找到目标机IP地址的ARP表项,则向局域网发送广播ARP包(目的MAC地址字段==FF:FF:FF:FF:FF:FF),目标机将向本地机回复ARP包(包含目标机的MAC地址)
linux防火墙发展史?
1.认识防火墙
从逻辑上讲防火墙可以分为主机防火墙和网络防护墙。
主机防火墙:针对个别主机对出站入站的数据包进行过滤。(操作对象为个体)
网络防火墙:处于网络边缘,针对网络入口进行防护。(操作对象为整体)
从物理上讲防火墙可以分为硬件防火墙和软件防火墙。
硬件防火墙:通过硬件层面实现防火墙的功能,性能高,成本高。
软件防火墙:通过应用软件实现防火墙的功能,性能低,成本低。
2.系统防火墙发展过程
防火墙的发展史就是从墙到链再到表,也是从简单到复杂的过程。
防火墙工具变化如下:
ipfirewall--->ipchains--->iptables-->nftables(正在推广)
Linux2.0版内核中:包过滤机制为ipfw,管理工具是ipfwadm。
Linux2.2版内核中:包过滤机制为ipchain,管理工具是ipchains。
Linux2.4,2.6,3.0+版内核中:包过滤机制为netfilter,管理工具是iptables。
Linux3.1(3.13+)版内核中:包过滤机制为netfilter,中间采取daemon动态管理防火墙,管理工具是firewalld。
#目前低版本的firewalld通过调用iptables(command),它可以支持老的iptables规则(在firewalld里面叫做直接规则),
#同时firewalld兼顾了iptables,ebtables,ip6tables的功能。
3.iptables和nftables
nftables
nftables诞生于2008年,2013年底合并到Linux内核,从Linux3.13起开始作为iptables的替代品提供给用户。
它是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的{ip,ip6,arp,eb}_tables,它的用户空间管理工具是nft。
由于iptables的一些缺陷,目前正在慢慢过渡用nftables替换iptables,同时由于这个新的框架的兼容性,
所以nftables也支持在这个框架上运行直接iptables这个用户空间的管理工具。
nftables实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。
也就是说,nftables的核心可视为一个虚拟机,nftables的前端工具nft可以利用内核提供的表达式去模拟旧的iptables匹配,
维持兼容性的同时获得更大的灵活性。
而未来最新的firewalld(0.8.0)默认使用将使用nftables。详情可以看www.firewalld.org
iptables、nftables和firewalld之间的区别与联系
firewalld同时支持iptables和nftables,未来最新版本(0.8.0)默认将使用nftables。
简单的说firewalld是基于nftfilter防火墙的用户界面工具。而iptables和nftables是命令行工具。
firewalld引入区域的概念,可以动态配置,让防火墙配置及使用变得简便。
准确的说:iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables
nftables(command)是iptables(command)的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft,
同时未来firewalld最新版(0.8.0)也将默认支持nftables(command)。
iptables会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理
firewalld会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理
下图为iptables、firewalld、nftables之间的关系图:
?
4.centos6.X到centos7.X
centos6.X:防火墙由netfilter和iptables构成。其中iptables用于制定规则,又被称为防火墙的用户态;
而netfilter实现防火墙的具体功能,又被称为内核态。简单地讲,iptables制定规则,而netfilter执行规则。
centos7.X:防火墙在6.X防火墙的基础之上提出了新的防火墙管理工具,提出了区域的概念,通过区域定义网络链接以及安全等级。
5.怎样学好防火墙的配置?
1)OSI7层模型以及不同层对应哪些协议必须很熟悉#基础必备
2)TCP/IP三次握手,四次断开的过程,TCPHEADER,状态转换#基础必备
3)常用的服务端口要非常清楚了解。#基础必备
4)常用服务协议的原理,特别是http协议,icmp协议。#基础必备
5)能够熟练的利用tcpdump和wireshark进行抓包并分析,这样会更好#拓展
6)对计算机网络有研究,至少基本路由交换要很熟悉#拓展
6、企业中安全配置原则
尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。
并发不是特别大情况有外网IP,可以开启防火墙服务。
大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全。
Linux的协议栈是什么呢?
Linux网络协议栈基于分层的设计思想,总共分为四层,从下往上依次是:物理层,链路层,网络层,应用层。Linux网络协议栈其实是源于BSD的协议栈,它向上以及向下的接口以及协议栈本身的软件分层组织的非常好。Linux的协议栈基于分层的设计思想,总共分为四层,从下往上依次是:物理层,链路层,网络层,应用层。物理层主要提供各种连接的物理设备,如各种网卡,串口卡等;链路层主要指的是提供对物理层进行访问的各种接口卡的驱动程序,如网卡驱动等;网路层的作用是负责将网络数据包传输到正确的位置,最重要的网络层协议当然就是IP协议了,其实网络层还有其他的协议如ICMP,ARP,RARP等,只不过不像IP那样被多数人所熟悉;传输层的作用主要是提供端到端,说白一点就是提供应用程序之间的通信,传输层最着名的协议非TCP与UDP协议末属了;应用层,顾名思义,当然就是由应用程序提供的,用来对传输数据进行语义解释的“人机界面”层了,比如HTTP,SMTP,FTP等等,其实应用层还不是人们最终所看到的那一层,最上面的一层应该是“解释层”,负责将数据以各种不同的表项形式最终呈献到人们眼前。Linux网络核心架构Linux的网络架构从上往下可以分为三层,分别是:用户空间的应用层。内核空间的网络协议栈层。物理硬件层。其中最重要最核心的当然是内核空间的协议栈层了。Linux网络协议栈结构Linux的整个网络协议栈都构建与LinuxKernel中,整个栈也是严格按照分层的思想来设计的,整个栈共分为五层,分别是:
1,系统调用接口层,实质是一个面向用户空间应用程序的接口调用库,向用户空间应用程序提供使用网络服务的接口。
2,协议无关的接口层,就是SOCKET层,这一层的目的是屏蔽底层的不同协议(更准确的来说主要是TCP与UDP,当然还包括RAWIP,SCTP等),以便与系统调用层之间的接口可以简单,统一。简单的说,不管我们应用层使用什么协议,都要通过系统调用接口来建立一个SOCKET,这个SOCKET其实是一个巨大的sock结构,它和下面一层的网络协议层联系起来,屏蔽了不同的网络协议的不同,只吧数据部分呈献给应用层(通过系统调用接口来呈献)。
3,网络协议实现层,毫无疑问,这是整个协议栈的核心。这一层主要实现各种网络协议,最主要的当然是IP,ICMP,ARP,RARP,TCP,UDP等。这一层包含了很多设计的技巧与算法,相当的不错。
4,与具体设备无关的驱动接口层,这一层的目的主要是为了统一不同的接口卡的驱动程序与网络协议层的接口,它将各种不同的驱动程序的功能统一抽象为几个特殊的动作,如open,close,init等,这一层可以屏蔽底层不同的驱动程序。
5,驱动程序层,这一层的目的就很简单了,就是建立与硬件的接口层。可以看到,Linux网络协议栈是一个严格分层的结构,其中的每一层都执行相对独立的功能,结构非常清晰。其中的两个“无关”层的设计非常棒,通过这两个“无关”层,其协议栈可以非常轻松的进行扩展。在我们自己的软件设计中,可以吸收这种设计方法。
Centos系统 ip命令使用方法
[root@Linux~]# ip [option] [动作] [命令]
参数:
option:设定的参数,主要有:
-s:显示出该设备的统计数据(statistics),例如总接受封包数等;
动作:就是是可以针对哪些网络参数进行动作,包括有:
link:关于设备(device)的相关设定,包括 MTU, MAC地址等等
addr/address:关于额外的 IP设定,例如多 IP的实现等等;
route:与路由有关的相关设定
上面的语法我们可以知道, ip除了可以设定一些基本的网络参数之外,还能够进行额外的 IP设定,包括多 IP的实现,真是太完美了!下面我们就分三个部分(link, addr, route)来介绍这个 ip命令。
关于设备(device)的相关设定: ip link
ip link可以设定与设备(device)有关的相关设定,包括 MTU以及该网络设备的 MAC等等,当然也可以启动(up)或关闭(down)某个网络设备。整个语法是这样的:
[root@linux~]# ip [-s] link show==单纯的查阅该设备相关的信息
[root@linux~]# ip link set [device] [动作与参数]
参数:
show:仅显示出这个设备的相关内容,如果加上-s会显示更多统计数据;
set:可以开始设定项目, device指的是 eth0, eth1等等设备代号;
动作与参数:包括以下动作:
up|down:启动(up)或关闭(down)某个设备,其他参数使用预设的以太网参数;
address:如果这个设备可以更改 MAC,用这个参数修改;
name:给予这个设备一个特殊的名字;
mtu:设置最大传输单元。
范例一:显示出所有的设备信息
[root@linux~]# ip link show
1: lo: LOOPBACK,UP,10000 mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: BROADCAST,MULTICAST,UP,10000 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff
3: sit0: NOARP mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
[root@linux~]# ip-s link show eth0
2: eth0: BROADCAST,MULTICAST,UP,10000 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
484011792 2247372 0 0 0 0
TX: bytes packets errors dropped carrier collsns
2914104290 2867753 0 0 0 0
使用 ip link show可以显示出整个设备的硬件相关信息,如上所示,包括 MAC地址、MTU等等,比较有趣的应该是那个 sit0的设备了,那个 sit0的设备是将IPv4和 IPv6的封包进行转换,对于我们仅使用 IPv4的网络是没有作用的。 lo及 sit0都是主机内部自行设定的。而如果加上-s的参数后,则这个网卡的相关统计信息就会被列出来,包括接收(RX)及传送(TX)的封包数量等等,详细的内容与 ifconfig所输出的结果相同。
范例二:启动、关闭与设定设备的相关信息
[root@linux~]# ip link set eth0 up
#启动eth0这个设备;
[root@linux~]# ip link set eth0 down
#关闭eth0这个设备;
[root@linux~]# ip link set eth0 mtu 1000
#更改 MTU为1000 bytes,单位就是 bytes。
更新网卡的 MTU使用 ifconfig也可以实。如果是要更改『网卡代号、 MAC地址的信息』的话,那可就得使用 ip了,设定前需要先关闭该网卡,否则会不成功。如下所示:
范例三:修改网卡代号、MAC等参数
[root@linux~]# ip link set eth0 name vbird
SIOCSIFNAME: Device or resource busy
#因为该设备目前是启动的,所以不能这样做设定。你应该要这样做:
[root@linux~]# ip link set eth0 down==关闭设备
[root@linux~]# ip link set eth0 name vbird==重新设定
[root@linux~]# ip link show==查看信息
2. vbird: BROADCAST,MILTICASE mtu 900 qdisc pfifo_fast qlen 1000
link/ehter 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff
#呵呵,连网卡代号都可以改变!不过,玩玩后记得改回来啊!
#因为我们的 ifcfg-eth0还是使用原本的设备代号!避免有问题,要改回来
[root@linux~]# ip link set vbird name eth0==设备改回来
[root@linux~]# ip link set eth0 address aa:aa:aa:aa:aa:aa
[root@linux~]# ip link show eth0
#如果你的网卡支持MAC更改的话,
#那么上面这个命令就可以更改你的网卡MAC了!
#不过,还是那句老话,测试完之后请立刻改回来!
在这个设备的硬件相关信息设定,上面包括 MTU, MAC以及传输的模式等等,都可以在这里设定。有趣的是那个 address的项目,那个项目后面接的可是MAC地址而不是IP地址很容易搞错啊!切记切记!更多的硬件参数可以使用 man ip查阅一下与 ip link有关的设定。
关于额外的 IP相关设定: ip address
如果说 ip link是与 OSI七层模型的第二层数据链路层有关的话,那么 ip address(ip addr)就是与第三层网络层有关的了。主要是在设定与 IP有关的各项参数,包括 netmask, broadcast等等。
[root@linux~]# ip address show==查看IP参数
[root@linux~]# ip address [add|del] [IP参数] [dev?备名] [相关参数]
参数:
show:单纯的显示出设备的 IP信息;
add|del:进行相关参数的增加(add)或删除(del)设定,主要有:
IP参数:主要就是网域的设定,例如 192.168.100.100/24之类的设定;
dev:这个 IP参数所要设定的设备,例如 eth0, eth1等等;
相关参数:如下所示:
broadcast:设定广播位址,如果设定值是+表示让系统自动计算;
label:该设备的别名,例如eth0:0;
scope:这个设备的领域,通常是以下几个大类:
global:允许来自所有来源的连线;
site:仅支持IPv6,仅允许本主机的连接;
link:仅允许本设备自我连接;
host:仅允许本主机内部的连接;
所以当然是使用 global了。预设也是 global!
范例一:显示出所有设备的 IP参数:
[root@linux~]# ip address show
1: lo: LOOPBACK,UP,10000 mtu 16436 qdisc noqueue
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,10000 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
inet6 fe80::250:fcff:fe22:9acb/64 scope link
valid_lft forever preferred_lft forever
3: sit0: NOARP mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
下面我们进一步来新增虚拟的网络设备:
范例二:新增一个设备,名称假设为 eth0:vbird
[root@linux~]# ip address add 192.168.50.50/24 broadcast+/
dev eth0 label eth0:vbird
[root@linux~]# ip address show eth0
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
inet 192.168.50.50/24 brd 192.168.50.255 scope global eth0:vbird
inet6 fe80::240:d0ff:fe13:c346/64 scope link
valid_lft forever preferred_lft forever
#看上面的输出多出了一行,增加了新的设备,名称是 eth0:vbird
#至于那个 broadcast+也可以写成 broadcast 192.168.50.255。
[root@linux~]# ifconfig
eth0:vbir Link encap:Ethernet HWaddr 00:40:D0:13:C3:46
inet addr:192.168.50.50 Bcast:192.168.50.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:5 Base address:0x3e00
#如果使用 ifconfig就能够看到这个怪东西了!
范例三:将刚刚的设备删除
[root@linux~]# ip address del 192.168.50.50/24 dev eth0
#删除比较简单。
--------------------------------------------------------------------------------
关于路由的设定: ip route
这个项目就是路由的查看与设定。事实上ip route的功能几乎与 route这个命令一样,但是,它还可以进行额外的参数设置,例如 MTU的规划等等,相当的强悍啊!
[root@linux~]# ip route show==单纯的显示出路由的设定
[root@linux~]# ip route [add|del] [IP或网域] [via gateway] [dev设备]
参数:
show:单纯的显示出路由表,也可以使用 list;
add|del:增加(add)或删除(del)路由;
IP或网域:可使用 192.168.50.0/24之类的网域或者是单纯的 IP;
via:从那个 gateway出去,不一定需要;
dev:由那个设备连出去,需要;
mtu:可以额外的设定 MTU的数值;
范例一:显示出目前的路由资料
[root@linux~]# ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
169.254.0.0/16 dev eth1 scope link
default via 192.168.1.254 dev eth1
如上表所示,最简单的功能就是显示出目前的路由信息,其实跟 route这个命令相同。必须注意的几点:
proto:此路由的路由协定,主要有 redirect, kernel, boot, static, ra等,其中 kernel指的是直接由核心判断自动设定。
scope:路由的范围,主要是 link,是与本设备有关的直接连接。
再来看一下如何进行路由的增加与删除:
范例二:增加路由,主要是本机直接可沟通的网域
[root@linux~]# ip route add 192.168.5.0/24 dev eth0
#针对本机直接沟通的网域设定好路由,不需要透过外部的路由器
[root@linux~]# ip route show
192.168.5.0/24 dev eth0 scope link
....以下省略....
范例三:增加可以通往外部的路由,需透过 router;
[root@linux~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0
[root@linux~]# ip route show
192.168.5.0/24 dev eth0 scope link
....其他省略....
192.168.10.0/24 via 192.168.5.100 dev eth0
#仔细,因为我有 192.168.5.0/24的路由存在(与我的网卡直接相关),
#所以才可以将 192.168.10.0/24的路由丢给 192.168.5.100
#那部主机来帮忙传递!与之前提到的 route命令是一样的限制!
范例四:增加预设路由
[root@linux~]# ip route add default via 192.168.1.2 dev eth0
#那个 192.168.1.2就是我的预设路由器(gateway);
#记住,只要一个预设路由就OK了;
范例五:删除路由
[root@linux~]# ip route del 192.168.10.0/24
[root@linux~]# ip route del 192.168.5.0/24
事实上,这个 ip的命令实在是太博大精深了!刚接触 Linux网络的朋友,可能会看到有点晕!您先会使用 ifconfig, ifup, ifdown与 route即可,等以后有经验了之后,再继续回来玩 ip这个好玩的命令吧!有兴趣的话,也可以自行参考 ethtool这个命令!
Centos系统下查看和修改网卡Mac地址附ifconfig命令格式
本文将为大家详细的介绍centos系统修改网卡Mac地址的方法,具体内容如下:
在文件/etc/sysconfig/network-scripts/ifcfg-eth0中增加一行类似如下
MACADDR=00:04:AC:33:1C:3B
答:MAC地址是网卡的物理地址,其实在Linux下也可更改MAC地址:
1)闭网卡设备
/sbin/ifconfig eth0 down
2)修改MAC地址
/sbin/ifconfig eth0 hw ether MAC地址
3)重启网卡
/sbin/ifconfig eth0 up
Red Hat Linux下如何修改网卡MAC地址
OS版本:Red Hat Enterprise Linux AS4
核心:Kernel 2.6.9-42
网上有很多关于linux下修改MAC地址的方法,大多依葫芦画瓢,似乎都没验证过,达不到修改的目的。
经过我的详细测试,最终成功解决了这个问题。
误区一:
#ifconfig eth0 down/*禁掉eth0网卡,这里以eth0网卡为例*/
#ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE/*修改eth0网卡的MAC地址*/
#ifconfig eth0 up/*重新启动eth0网卡*/
然后重新启动主机。
结论:按照这种方法修改MAC地址,重新启动主机系统后,MAC地址会自动还原。
误区二:
#ifconfig eth0 down
#cd/etc/sysconfig/network-scripts
#vi ifcfg-eth0
修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"
#ifconfig eth0 up
#service network start
结论:按照这种方法修改MAC地址后将无法启用网络,会出现如下提示:
“Bringing up interface eth0: Device eth0 has different MAC address than expected,ignoring.”
那么,在linux环境下如何保证修改后的MAC地址永久保存呢?正确的步骤如下:
#ifconfig eth0 down
#cd/etc/sysconfig/network-scripts
#vi ifcfg-eth0
修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"为"MACADDR=xx:xx:xx:xx:xx:xx"
#ifconfig eth0 up
#service network start
关键词:HWADDR和MACADDR是有区别的。
最后附ifconfig命令格式:
ifconfig--help Usage: ifconfig [-a] [-v] [-s] [[] ] [add [/
]] [del [/
]] [[-]broadcast []] [[-]pointopoint []] [netmask ] [dstaddr ] [tunnel ] [outfill ] [keepalive ] [hw ] [metric ] [mtu ] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start ] [io_addr ] [irq ] [media ] [txqueuelen ] [[-]dynamic] [up|down]...=Hardware Type. List of possible hardware types: loop(Local Loopback) slip(Serial Line IP) cslip(VJ Serial Line IP) slip6(6-bit Serial Line IP) cslip6(VJ 6-bit Serial Line IP) adaptive(Adaptive Serial Line IP) strip(Metricom Starmode IP) ash(Ash) ether(Ethernet) tr(16/4 Mbps Token Ring) tr(16/4 Mbps Token Ring(New)) ax25(AMPR AX.25) netrom(AMPR NET/ROM) rose(AMPR ROSE) tunnel(IPIP Tunnel) ppp(Point-to-Point Protocol) hdlc((Cisco)-HDLC) lapb(LAPB) arcnet(ARCnet) dlci(Frame Relay DLCI) frad(Frame Relay Access Device) sit(IPv6-in-IPv4) fddi(Fiber Distributed Data Interface) hippi(HIPPI) irda(IrLAP) ec(Econet) x25(generic X.25) infiniband(InfiniBand)=Address family. Default: inet List of possible address families: unix(UNIX Domain) inet(DARPA Internet) inet6(IPv6) ax25(AMPR AX.25) netrom(AMPR NET/ROM) rose(AMPR ROSE) ipx(Novell IPX) ddp(Appletalk DDP) ec(Econet) ash(Ash) x25(CCITT X.25)希望上文可以帮助到大家,需要的用户快来看看吧,想了解更多精彩教程请继续关注!