网络命令

Linux 命令学习(2)-网络命令

@(笔记-初稿)[Linux]

[TOC]

记录我对于Linux的学习,网络相关的命令:

ps:“~” 表示为 home 目录,“.” 则是表示目前所在的目录,“…” 则表示当前目录的上一层目录
-h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数

ping

ping 用于检测主机。ping 使用 ICMP 协议规定的 ECHO_REQUEST 数据报引发一个来自主机或网管的 ICMP ECHO_RESPONSE 回应。 ECHO_REQUEST 数据报(“ping”信
息)有一个 IP 和 ICMP 头部, 其后跟随了一个结构,包含一个时间相关的值以及一个任意的“pad” 字节的随机数用以填充数据包。
格式:ping [选项] 目标主机
常用选项:

  1. -c<完成次数> 设置完成要求回应的次数。
  2. -i<间隔秒数> 指定收发信息的间隔时间。
  3. -R 记录路由过程。
  4. -s<数据包大小> 设置数据包的大小。
  5. -t<存活数值> 设置存活数值TTL的大小。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ping www.baidu.com #需要手动ctrl+c
PING www.a.shifen.com (61.135.169.121) 56(84) 比特的数据。
64 比特,来自 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=57 时间=5.32 毫秒
64 比特,来自 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=57 时间=9.83 毫秒
64 比特,来自 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=57 时间=12.5 毫秒
64 比特,来自 61.135.169.121 (61.135.169.121): icmp_seq=4 ttl=57 时间=7.99 毫秒
^C
--- www.a.shifen.com ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 5.319/8.908/12.494/2.618 ms

ping -c 4 www.baidu.com #四次响应结束
PING www.a.shifen.com (61.135.185.32) 56(84) 比特的数据。
64 比特,来自 61.135.185.32 (61.135.185.32): icmp_seq=1 ttl=57 时间=4.45 毫秒
64 比特,来自 61.135.185.32 (61.135.185.32): icmp_seq=2 ttl=57 时间=11.0 毫秒
64 比特,来自 61.135.185.32 (61.135.185.32): icmp_seq=3 ttl=57 时间=16.4 毫秒
64 比特,来自 61.135.185.32 (61.135.185.32): icmp_seq=4 ttl=57 时间=18.1 毫秒

--- www.a.shifen.com ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 4.453/12.486/18.106/5.331 ms

ifconfig

ifconfig 配置网络接口
格式:ifconfig [接口]
ifconfig 接口 [aftype] options | address …
常用选项:

  1. 接口 接口名称
  2. up 启动指定的网络设备
  3. down 关闭指定的网络设备。
  4. add<地址> 设置网络设备IPv6的IP地址。
  5. del<地址> 删除网络设备IPv6的IP地址。
  6. mtu<字节> 设置网络设备的MTU。
  7. netmask<子网掩码> 设置网络设备的子网掩码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ifconfig #查看当前系统有几个网卡信息
eth0 ...
lo ...

ifconfig eth0 up # 启动网卡eth0
ifconfig eth0 down # 关闭网卡eth0
ifconfig eth0 reload # 重启

ifconfig eth0 add 1030::C9B4:FF12:48AA:1A2B/64 # 为网卡eth0配置IPv6地址
ifconfig eth0 del 1030::C9B4:FF12:48AA:1A2B/64 # 为网卡eth0删除IPv6地址

ifconfig eth0 192.168.1.166 netmask 255.255.255.0 up #配置IPv4地址和子网掩码,临时生效

ifconfig eth0 mtu 1500 #设置最大传输单元

netstat命令

netstat 显示网络状态包括网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组。
格式: netstat [DESCRIPTION] [OPTIONS]
DESCRIPTION netstat 程序显示Linux网络子系统的信息。 输出信息的类型是由第一个参数控制的

  1. (none) 无选项时, netstat 显示打开的套接字. 如果不指定任何地址族,那么打印出所有已配置地址族的有效套接字。
  2. -r 显示内核路由表
  3. -g 显示IPv4 和 IPv6的IGMP组播组成员关系信息
  4. -i 显示所有网络接口列表或者是指定的 iface 。
  5. -M 显示一份所有经伪装的会话列表
  6. -s 显示每种协议的统计信息

选项

  1. -a (all)显示所有选项,默认不显示LISTEN相关
  2. -c 每隔一个固定时间,执行该netstat命令。
  3. -e 显示扩展信息,例如uid等
  4. -t (tcp)仅显示tcp相关选项
  5. -u (udp)仅显示udp相关选项
  6. -n 拒绝显示别名,能显示数字的全部转化成数字。
  7. -l 仅列出有在 Listen (监听) 的服務状态
  8. -p 显示建立相关链接的程序名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
netstat -a  #列出所有端口 会显示很多信息
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mxi *:* LISTEN
...

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 7 [ ] DGRAM 8277 /dev/log
unix 2 [ ACC ] STREAM LISTENING 6712 @/com/ubuntu/upstart

netstat -at # 列出所有 tcp 端口
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mxi *:* LISTEN
...