基础网络操作命令(11 个命令)

telnet命令

telnet命令:使用 TELNET 协议远程登录。

ssh命令

ssh命令:openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

格式:

​ ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
​ [-D [bind_address:]port] [-E log_file] [-e escape_char]
​ [-F configfile] [-I pkcs11] [-i identity_file]
​ [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
​ [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
​ [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
​ [user@]hostname [command]

参数:

参数 作用
-1 强制使用ssh协议版本1;
-2 强制使用ssh协议版本2;
-4 强制使用IPv4地址;
-6 强制使用IPv6地址;
-A 开启认证代理连接转发功能;
-a 关闭认证代理连接转发功能;
-b 使用本机指定地址作为对应连接的源ip地址;
-C 请求压缩所有数据;
-F 指定ssh指令的配置文件;
-f 后台执行ssh指令;
-g 允许远程主机连接主机的转发端口;
-i 指定身份文件;
-l 指定连接远程服务器登录用户名;
-N 不执行远程指令;
-o 指定配置选项;
-p 指定远程服务器上的端口;
-q 静默模式
-X 开启X11转发功能;
-x 关闭X11转发功能;
-y 开启信任X11转发功能。

scp命令

scp命令:安全复制(远程文件复制程序)

格式:

scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2

参数:

参数 作用
-1 强制使用ssh协议版本1;
-2 强制使用ssh协议版本2;
-4 使用ipv4
-6 使用ipv6
-C 以批处理模式运行;
-C 使用压缩;
-F 指定ssh配置文件;
-l 指定宽带限制;
-o 指定使用的ssh选项;
-P 指定远程主机的端口号
-p 保留文件的最后修改时间,最后访问时间和权限模式;
-q 不显示复制进度;
-r 以递归方式复制。

wget命令

wget命令:非交互式网络下载程序。

格式: wget [option]... [URL]...

参数:

参数 作用
-O 输出文件
--limit-rate=xxxk 限速
-c 继续执行上次终端的任务;
-b 进行后台的方式运行wget;
--tries=xx 增加重试次数
--spider 测试下载链接

ping命令

ping命令:

测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

格式:

​ ping [-aAbBdDfhLnOqrRUvV46] [-c count] [-F flowlabel] [-i interval] [-I
​ interface] [-l preload] [-m mark] [-M pmtudisc_option] [-N node‐
​ info_option] [-w deadline] [-W timeout] [-p pattern] [-Q tos] [-s pack‐
​ etsize] [-S sndbuf] [-t ttl] [-T timestamp option] [hop ...] destina‐
​ tion

参数:

参数 作用
-d 使用Socket的SO_DEBUG功能;
-c 设置完成要求回应的次数;
-i<间隔秒数> 指定收发信息的间隔时间;
-I<网络界面> 使用指定的网络界面送出数据包;
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包;
-n 只输出数值;
-p<范本样式> 设置填满数据包的范本样式;
-q 不显示指令执行过程,开头和结尾的相关信息除外;
-r 忽略普通的Routing Table,直接将数据包送到远端主机上;
-R 记录路由过程;
-s<数据包大小> 设置数据包的大小;
-t<存活数值> 设置存活数值TTL的大小;
-v 详细显示指令的执行过程。
-f 极限检测;

route命令

route命令:显示/操作IP路由表

格式:

 route [-CFvnNee] [-A family |-4|-6]

 route  [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw
          Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod]  [dyn]
          [reinstate] [[dev] If]

 route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask
          Nm] [metric N] [[dev] If]

 route  [-V] [--version] [-h] [--help]

参数:

参数 作用
-n 不执行DNS反向查找,直接显示数字形式的IP地址;

例子:

查看路由
[root@xxx ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.141.2   0.0.0.0         UG    100    0        0 ens32
192.168.141.0   0.0.0.0         255.255.255.0   U     100    0        0 ens32

[root@xxx ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens32
192.168.141.0   0.0.0.0         255.255.255.0   U     100    0        0 ens32


添加网关/设置网关:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0    #增加一条到达244.0.0.0的路由。

屏蔽一条路由:
route add -net 224.0.0.0 netmask 240.0.0.0 reject     #增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝。

删除路由记录:
route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject

删除和添加设置默认网关:
route del default gw 192.168.120.240
route add default gw 192.168.120.240

ifconfig命令

ifconfig命令:配置网络接口

格式:

​ ifconfig [-v] [-a] [-s] [interface]
​ ifconfig [-v] interface [aftype] options | address ...

例子

# 启动关闭指定网卡:
ifconfig eth0 up
ifconfig eth0 down
ifconfig eth0 up为启动网卡eth0,ifconfig eth0 down为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

# 为网卡配置和删除IPv6地址:
ifconfig eth0 add 33ffe:3240:800:1005::2/64    #为网卡eth0配置IPv6地址
ifconfig eth0 del 33ffe:3240:800:1005::2/64    #为网卡eth0删除IPv6地址

# 用ifconfig修改MAC地址:
ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE

# 配置IP地址:
[root@localhost ~]# ifconfig eth0 192.168.2.10
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255

# 启用和关闭arp协议:
ifconfig eth0 arp    #开启网卡eth0 的arp协议
ifconfig eth0 -arp   #关闭网卡eth0 的arp协议

# 设置最大传输单元:
ifconfig eth0 mtu 1500    #设置能通过的最大数据包大小为 1500 bytes

ifup命令

ifup命令:启动接口

例子:

[root@xxx ~]# ifup lo

ifdown命令

ifdown命令:关闭接口

例子:

[root@xxx ~]# ifdown lo
[root@xxx ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.141.181  netmask 255.255.255.0  broadcast 192.168.141.255
        inet6 fe80::fd97:63ea:9541:3370  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:fa:81:2f  txqueuelen 1000  (Ethernet)
        RX packets 518359  bytes 683586851 (651.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 75568  bytes 7344212 (7.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

netstat命令

netstat命令:打印网络连接,路由表,接口统计信息、伪装连接和多播成员关系

参数:

-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

例子:

# 列出所有端口 (包括监听和未监听的)

netstat -a     #列出所有端口
netstat -at    #列出所有tcp端口
netstat -au    #列出所有udp端口    

# 列出所有处于监听状态的 Sockets
netstat -l        #只显示监听端口
netstat -lt       #只列出所有监听 tcp 端口
netstat -lu       #只列出所有监听 udp 端口
netstat -lx       #只列出所有监听 UNIX 端口

# 显示每个协议的统计信息

netstat -s   显示所有端口的统计信息
netstat -st   显示TCP端口的统计信息
netstat -su   显示UDP端口的统计信息

# 在netstat输出中显示 PID 和进程名称
netstat -pt

#IP和TCP分析
# 查看连接某服务端口最多的的IP地址:
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr

# TCP各种状态列表:
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'

# 查看phpcgi进程数,如果接近预设值,说明不够用,需要增加:
netstat -anpo | grep "php-cgi" | wc -l

ss命令

ss命令:另一个用于研究套接字的实用程序

格式:ss [options] [ FILTER ]

参数:

-h:显示帮助信息;
-V:显示指令版本信息;
-n:不解析服务名称,以数字方式显示;
-a:显示所有的套接字;
-l:显示处于监听状态的套接字;
-o:显示计时器信息;
-m:显示套接字的内存使用情况;
-p:显示使用套接字的进程信息;
-i:显示内部的TCP信息;
-4:只显示ipv4的套接字;
-6:只显示ipv6的套接字;
-t:只显示tcp套接字;
-u:只显示udp套接字;
-d:只显示DCCP套接字;
-w:仅显示RAW套接字;
-x:仅显示UNIX域套接字。

例子:

# 显示所有UDP Sockets
[root@xxx ~]# ss -u -a
State       Recv-Q Send-Q Local Address:Port                 Peer Address:Port   
UNCONN      0      0      127.0.0.1:323                      *:*                 
UNCONN      0      0          *:bootpc                   *:*
UNCONN      0      0        ::1:323                     :::*

posted @ 2019-07-20 18:40  Akiz  阅读(1108)  评论(0编辑  收藏  举报