1. netstat 显示本机网络连接,运行端口和路由表等信息的命令
(1)选项:
-a:列出系统中所有网络连接,包括已经连接的网络服务,监听的网络服务和Socket套接字
-t:列出TCP协议数据
-u:列出UDP数据
-l:列出正在正在监听的网络服务(不包含已经连接的网络服务)
-n:用端口显示服务,而不用服务名
-p:列出该服务的进程ID(PID)
-s:按各个协议进行统计
-c:每隔一个固定时间,执行该命令
-r:路由服务,查看本机路由信息
(2)常用指令:netstat -tlunp
[root@WWcentos ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1353/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1179/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1178/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1456/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 6039/sshd: root@pts
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 755/rpcbind
tcp6 0 0 :::80 :::* LISTEN 5026/httpd
tcp6 0 0 :::22 :::* LISTEN 1179/sshd
#各字段释义:
Proto:数据包的协议,分为TCP和UDP
Recv-Q:表示收到的数据已经在本地接收缓存,但是还没有被没有被进程取走的数据包数量
Send-Q:对方没有收到的数据包,或者没有ACK回复的,还在本地缓冲区的数据包数量
Local Address:本地IP:端口,通过端口可以知道本机开启了哪些服务
Foreign Address:远程主机:端口也就是远程那个IP使用哪个端口连接到本机
State:连接状态:主要是已经建立连接(ESTABLISED)和监听(LISTEN)两种状态
PID/Program name:主要是进程ID和进程命令
(3)常用命令:netstat -an
下半部分:
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 21009 /var/run/lsm/ipc/sim
unix 2 [ ACC ] STREAM LISTENING 21020 /var/run/lsm/ipc/simc
unix 2 [ ACC ] STREAM LISTENING 22052 /var/run/abrt/abrt.socket
unix 2 [ ACC ] STREAM LISTENING 21047 /run/gssproxy.sock
unix 2 [ ACC ] STREAM LISTENING 19084 @ISCSID_UIP_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 13914 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 19051 /run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 19055 /var/run/rpcbind.sock
#字段释义:(下半部分)
Proto:协议,一般为unix
RefCnt:连接到此Socket的进程数量
Flags:连接标识
Type:Socket访问类型
State:连接状态,已经建立连接(ESTABLISED)和监听状态(LISTEN)
I-Node:程序文件的Inode号
Path:Socket程序的路径,或者相关数据的输出路径
2. ss 配置网络或显示当前网络接口状态的命令
(1)选项:
-t:tcp协议的连接
-u:udp协议的连接
-l:监听状态的连接
-a:所有状态的连接
-p:进程及UDP
(2)常用指令:ss -ta #查看所有TCP协议的连接
(3)常用指令:ss -nltup #查看所有协议监听以及列出进程号
3. traceroute 获取当前主机到目标主机所经过的路由(网关)
[root@WWcentos ~]# traceroute www.daidu.com
traceroute to www.daidu.com (35.186.238.101), 30 hops max, 60 byte packets
1 gateway (192.168.137.2) 0.195 ms 0.596 ms 0.533 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
#获取当前主机到目标主机所经过的网关:以进入百度网页主机为例:
第一行:提示进入目标主机的IP地址
第二行:先通过虚拟机的网关(192.168.137.2)
4. mtr 获取当前主机到目标主机所经过的路由(网卡)
(1)选项:
-r:已报告模式显示
[root@WWcentos ~]# mtr -r 192.168.137.128
Start: Thu Aug 11 22:19:19 2022
HOST: WWcentos Loss% Snt Last Avg Best Wrst StDev
1.|-- WWcentos 0.0% 10 0.1 0.2 0.0 1.4 0.0
#字段释义:
HOST:显示IP地址和本机域名
LOSS%:显示的每个对应IP的丢包率
Snt:snt:10 设置每秒发送数据包的数量,默认值是10 可以通过参数 -c 来指定
其中 -c 的说明是:-report-cycles COUNT
Last:显示的最近一次的返回时延
Avg:是平均值,指发送ping包的平均时延
Best:指最好或者是时延最短的
Wrst:指最差或者是时延最长的
StDev:指标准偏差
5. telnet 与远程的主机通信或获取远程主机对应端口的信息命令
telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。中端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。telnet是常用的远程登录控制web服务器的方法。
但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式。
telnet命令还可以做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
6. wget #从网络上下载软件的命令
(1)-O filename 表示将远程的文件下载到本地后,重新命名为filename
(2)-r 表示递归下载目录及其子目录
(3)使用wget -mirror镜像网站
命令:wget --mirror -p --convert-links -P ./LOCAL URL
说明:下载整个网站到本地。
-mirror :镜像下载
-p :下载所有为了html 页面显示正常的文件
--conver-links :下载后,转换成本地的链接
-P ./LOCAL :保存所有文件和目录到本地指定目录
7. scp 基于SSH的不同Linux系统间互相拷贝文件或者目录的工具
(1)选项:
-r:表示递归copy目录
-p:保留文件原有的权限信息,时间戳信息等
-o:可以加上一些SSH的选项。例如StrictHostChecking,表示在连接远程主机时,会主动把对方的公钥加到Known_hosts中,而不会提示用户是否要记录这样的信息。
例如:ssh -o StrictHostChecking=no root@10.10.10.1
(2)应用实例:
scp 选项 [[user@]host1:]file1 ... [[user@]host2:]file2
user@]host1: #原主机名 user@]host2: #对方主机名
选项:[-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program]
1)在本机的服务器:从对方主机拉文件到自己主机:
scp 对方用户@IP号码:文件名 .
本机:
[root@WWcentos home]# scp -r root@192.168.137.136:test .
root@192.168.137.136's password:
a.txt 100% 0 0.0KB/s 00:00
b.txt 100% 0 0.0KB/s 00:00
c.txt 100% 0 0.0KB/s 00:00
[root@WWcentos home]# ll
total 0
drwx------. 3 4001 1012 78 Jul 27 09:49 gentoo
drwxr-xr-x. 4 root root 33 Jul 26 19:20 home
drwxr-xr-x. 2 root root 45 Aug 12 11:51 test
drwx------. 5 tom tom 179 Aug 8 10:54 tom
drwx------. 16 wangwei wangwei 272 Aug 3 17:56 wangwei
对方主机:
[root@localhost ~]# ll
total 20
-rw-------. 1 root root 1603 Aug 4 10:23 anaconda-ks.cfg
-rw-r--r--. 1 root root 15608 Sep 5 2021 epel-release-latest-7.noarch.rpm
drwxr-xr-x. 2 root root 45 Aug 12 11:48 test
结果:发现已经从对方主机拉过来了
2)在本机的服务器:将自己的文件推送给对方主机:
本机:
[root@WWcentos ~]# ls
anaconda-ks.cfg apachectl apr-util-1.3.12.tar.gz Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
[root@WWcentos ~]# scp apr-util-1.3.12.tar.gz root@192.168.137.136:/root/
root@192.168.137.136's password:
apr-util-1.3.12.tar.gz 100% 751KB 76.5MB/s 00:00
对方主机:
[root@localhost ~]# ll
total 772
-rw-------. 1 root root 1603 Aug 4 10:23 anaconda-ks.cfg
-rw-r--r--. 1 root root 769076 Aug 12 11:56 apr-util-1.3.12.tar.gz
-rw-r--r--. 1 root root 15608 Sep 5 2021 epel-release-latest-7.noarch.rpm
drwxr-xr-x. 2 root root 45 Aug 12 11:48 test
结果:发现已经传输过来了