注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Travel,Discover

Time ends everything~

 
 
 

日志

 
 

CentOS/Linux 常用网络指令  

2010-03-20 20:55:51|  分类: 工作日志 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. 网络参数设定指令
ifconfig
:     查询、设定网络卡与 IP 网域等相关参数;
ifup,ifdown: 这两个档案是 script ,透过更简单的方式来启动网络接口;
route:        查询、设定路由表 (route table)
ip:            复合式的指令,可以直接修改上述提到的功能;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ifconfig实例
ifconfig的输出内容的信息:
   1.  Link encap  ←网络连接类型
   2.  HWaddr      ←MAC地址
   3.  inet addr   ←IP地址(IPV4)
   4.  Bcast       ←广播地址
   5.  Mask        ←掩码
   6.  inet6 addr  ←IP地址(IPV6)
   7.  UP          ←启动中
   8.  BROADCAST   ←广播地址有效
   9.  RUNNING     ←动作
   10. MTU         ←网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
   11. Metric      ←指定在计算数据包的转送次数时,所要加上的数目

   12. RX packets  ←受信包数
   13. TX packets  ←送信包数
   14. collisions  ←是否发生冲突
   15. interrupt   ←IRQ中断号码
   16. Baseaddress ←I/O地址

暂时修改网络接口
[root@linux ~]# ifconfig eth0 192.168.100.100
# 如果不加任何其它参数,则系统会依照该 IP 所在的 class 范围,
# 自动的计算出 netmask 以及 network, broadcast 等 IP 参数;
[root@linux ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000
# 设定网络接口,同时设定 MTU 的数值!
[root@linux ~]# ifconfig eth0 mtu 9000
# 仅修改该接口的 MTU 数值,其它的保持不动!
[root@linux ~]# ifconfig eth0:0 192.168.50.50
# 仔细看那个界面, eth0:0 喔!那就是在该网络接口上,再仿真一个网络接口,
# 亦即是在一张网络卡上面设定多个 IP 的意思啦!
[root@linux ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3669 errors:0 dropped:0 overruns:0 frame:0
TX packets:2892 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:667547 (651.9 KiB) TX bytes:584799 (571.0 KiB)
Interrupt:209 Memory:fb000000-0
eth0:0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
inet addr:192.168.200.2 Bcast:192.168.200.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:209 Memory:fb000000-0
# 仔细看,是否与硬件有关的信息都相同啊!没错!因为是同一张网卡嘛!
[root@linux ~]# ifconfig eth0:0 down
# 关掉 eth0:0 这个界面。如果想要启动 eth1 ,并且不给予任何网络参数,
# ifconfig eth1 up 就可以达到了!
[root@linux ~]# /etc/init.d/network restart
# 刚刚设定的数据全部失效,会以 ifcfg-ethx 的设定为主!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
route实例
单纯的观察路由状态
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
路由的增加与删除
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面这个动作可以删除掉 169.254.0.0/16 这个网域!
# 请注意,在删除的时候,需要将路由表上面出现的信息都写入
# 包括 netmask , dev 等等参数喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透过 route add 来增加一个路由!请注意,这个路由必须要能够与你互通。
# 举例来说,如果我下达底下的指令就会显示错误:
# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254
# 这个网段直接使用 MAC 互通!这样说,可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
# 增加预设路由的方法!请注意,只要有一个预设路由就够了喔!
# 在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网络
# /etc/init.d/network restart
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ip实例
[root@linux ~]# ip [option] [动作] [指令]
参数:
option :设定的参数,主要有:
-s :显示出该装置的统计数据(statistics),例如总接受封包数等;
动作:亦即是可以针对哪些网络参数进行动作,包括有:
link :关于装置 (device) 的相关设定,包括 MTU, MAC 地址等等
addr/address :关于额外的 IP 协议,例如多 IP 的达成等等;
route :与路由有关的相关设定
ip link
显示出所有的接口信息
[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
启动、关闭与设定装置的相关信息
[root@linux ~]# ip link set eth0 up
[root@linux ~]# ip link set eth0 down
[root@linux ~]# ip link set eth0 mtu 1000
修改网络卡代号、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) 可以更改的话,
# 那么上面这个动作就可以更改你的网络卡地址了!厉害吧!
# 不过,还是那句老话,测试完之后请立刻改回来啊!
ip address
显示出所有的接口之 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
显示出目前的路由资料
[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
增加路由,主要是本机直接可沟通的网域
[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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
iwlist, iwconfig
这两个指令您必须要有无线网卡才能够进行喔!
iwlist:利用无线网卡进行无线 AP 的侦测与取得相关的数据;
iwconfig:设定无线网卡的相关参数。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dhclient
[root@linux ~]# dhclient eth0
立刻叫我们的网络卡以 dhcp 协议去尝试取得 IP 喔!


2. 网络侦错与观察指令
ping

traceroute
netstat
host
nslookup
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ping实例
针对整个网域进行 ping 的追查
[root@linux ~]# ping -c 3 -b 192.168.10.255
WARNING: pinging broadcast address <==会告知危险喔!
PING 192.168.10.255 (192.168.10.255) 56(84) bytes of data.
64 bytes from 192.168.10.100: icmp_seq=1 ttl=64 time=0.177 ms
64 bytes from 192.168.10.20: icmp_seq=1 ttl=64 time=0.179 ms (DUP!)
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.302 ms (DUP!)
64 bytes from 192.168.10.40: icmp_seq=1 ttl=64 time=0.304 ms (DUP!)
# 当要针对整部主机作 ping 的侦测时,可以利用 -b 这个参数。
# 请特别注意,当使用 ping -b 时,会对整个网域进行侦测喔!没事别乱用。
# 例如上面的范例中,区网内的 192.168.10.20... 等主机会被侦测到。
找出最大的 MTU 数值
[root@linux ~]# ping -c 2 -s 1000 -M do 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 1000(1028) bytes of data.
1008 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.424 ms
# 如果有响应,那就是可以接受这个封包,如果无响应,那就表示这个 MTU 太大了。
[root@linux ~]# ping -c 2 -s 8000 -M do 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 8000(8028) bytes of data.
ping: local error: Message too long, mtu=1500
# 这个错误讯息是说,本地端的 MTU 才到 1500 而已,你要侦测 8000 的 MTU
# 根本就是无法达成的!那要如何是好?用前一小节介绍的 ip link 来进行 MTU 设定吧!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
traceroute实例
[root@linux ~]# traceroute -n tw.yahoo.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
netstat实例
列出目前的路由表状态,且以 IP 及 port number 显示:
[root@linux ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
# 其实这个参数就跟 route -n 一模一样,对吧!这不是 netstat 的主要功能啦!
列出目前的所有网络联机状态,使用 IP 与 port number
[root@linux ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::ffff:192.168.10.100:25 ::ffff:192.168.10.200:57509 TIME_WAIT
tcp 0 52 ::ffff:192.168.10.100:22 ::ffff:192.168.10.210:1504 ESTABLISHED
udp 0 0 127.0.0.1:53 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 4792 public/cleanup
unix 2 [ ACC ] STREAM LISTENING 4799 private/rewrite
......(底下省略)......
列出目前已经启动的网络服务
[root@linux ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2141/master
tcp 0 0 :::22 :::* LISTEN 1924/sshd
tcp 0 0 :::25 :::* LISTEN 2141/master
udp 0 0 127.0.0.1:53 0.0.0.0:* 1911/named
# 上面最重要的其实是那个 -l 的参数,因为可以仅列出有在 Listen 的 port
观察本机上头所有的网络联机状态
[root@linux ~]# netstat -atunp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2141/master
tcp 0 0 :::22 :::* LISTEN 1924/sshd
tcp 0 0 :::25 :::* LISTEN 2141/master
tcp 0 68 192.168.1.100:22 192.168.1.210:1504 ESTABLISHED 30417/sshd:
udp 0 0 127.0.0.1:53 0.0.0.0:* 1911/named
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
host实例
列出 tw.yahoo.com 的 IP
[root@linux ~]# host tw.yahoo.com
tw.yahoo.com is an alias for tw.yahoo-ap1.akadns.net.
tw.yahoo-ap1.akadns.net has address 202.43.195.52
使用特定DNS服务器,列出目标网站的IP
[root@linux ~]# host tw.yahoo.com 168.95.1.1
Using domain server:
Name: 168.95.1.1
Address: 168.95.1.1#53
Aliases:
tw.yahoo.com is an alias for tw.yahoo-ap1.akadns.net.
tw.yahoo-ap1.akadns.net has address 202.43.195.52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nslookup实例
找出 www.google.com.tw 的 IP
[root@linux ~]# nslookup www.google.com.tw
Server: 168.95.1.1
Address: 168.95.1.1#53
Non-authoritative answer:
www.google.com.tw canonical name = www.google.com.
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 64.233.189.104


3. 远程联机指令
telnet

ftp
lftp
gaim:图形接口的实时通讯软件


4. 文字接口网页浏览
lynx
这个指令可以让我们来浏览网页,lynx最大的功能是查阅 Linux 本机上面以 HTML 语法写成的文件数据
wget 网页数据的取得
请下载 2.6.17 版的核心
[root@linux ~]# wget  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz
--16:06:10-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz
=> `linux-2.6.17.tar.gz'
Resolving www.kernel.org... 204.152.191.37, 204.152.191.5
Connecting to www.kernel.org|204.152.191.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51,700,445 (49M) [application/x-gzip]
3% [==> ] 1,890,568 220.69K/s ETA 04:12


5. packet包抓取功能
tcpdump

ethereal/wireshark
nc, netcat
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tcpdump实例
[root@linux ~]# tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae]
[-qX] [-r 档案] [所欲抓取的数据内容]
参数:
-nn:直接以 IP 及 port number 显示,而非主机名与服务名称
-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等的界面;
-w :如果你要将监听所得的封包数据储存下来,用这个参数就对了!后面接档名
-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听,
直到使用者输入 [ctrl]-c 为止。
-A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料。
-e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示;
-q :仅列出较为简短的封包信息,每一行的内容比较精简
-X :可以列出十六进制 (hex) 以及 ASCII 的封包内容,对于监听封包内容很有用
-r :从后面接的档案将封包数据读出来。那个『档案』是已经存在的档案,
并且这个『档案』是由 -w 所制作出来的。
所欲撷取的数据内容:我们可以专门针对某些通讯协议或者是 IP 来源进行封包撷取,
那就可以简化输出的结果,并取得最有用的信息。常见的表示方法有:
'host foo', 'host 127.0.0.1' :针对单部主机来进行封包撷取
'net 192.168' :针对某个网域来进行封包的撷取;
'src host 127.0.0.1' 'dst net 192.168':同时加上来源(src)或目标(dst)限制
'tcp port 21':还可以针对通讯协议侦测,如 tcp, udp, arp, ether 等
还可以利用 and 与 or 来进行封包数据的整合显示呢!
以 IP 与 port number 捉下 eth0 这个网络卡上的封包,持续 3 秒
[root@linux ~]# tcpdump -i eth0 -nn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:33:40.41 IP 192.168.1.100.22 > 192.168.1.11.1190: P 116:232(116) ack 1 win 9648
01:33:40.41 IP 192.168.1.100.22 > 192.168.1.11.1190: P 232:364(132) ack 1 win 9648
<==按下 [ctrl]-c 之后结束
6680 packets captured <==捉下来的封包数量
14250 packets received by filter <==由过滤所得的总封包数量
7512 packets dropped by kernel <==被核心所丢弃的封包
[root@linux ~]# tcpdump -i eth0 -nn port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:54:37.96 IP 192.168.1.11.1240 > 192.168.1.100.21: . ack 1 win 65535
01:54:37.96 IP 192.168.1.100.21 > 192.168.1.11.1240: P 1:21(20) ack 1 win 5840
01:54:38.12 IP 192.168.1.11.1240 > 192.168.1.100.21: . ack 21 win 65515
01:54:42.79 IP 192.168.1.11.1240 > 192.168.1.100.21: P 1:17(16) ack 21 win 65515
01:54:42.79 IP 192.168.1.100.21 > 192.168.1.11.1240: . ack 17 win 5840
01:54:42.79 IP 192.168.1.100.21 > 192.168.1.11.1240: P 21:55(34) ack 17 win 5840
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ethereal/wireshark图形化抓包工具(具体见下一篇博客~)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nc, netcat实例
[root@linux ~]# nc localhost 25
localhost.localdomain [127.0.0.1] 25 (smtp) open
220 pc.dm.tsai ESMTP Postfix
ehlo localhost
250-pc.dm.tsai
250-PIPELINING
250-SIZE 40000000
250-ETRN
quit
221 Bye


更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过 #man命令 的形式来查看命令的用法
  评论这张
 
阅读(1360)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018