netstat命令:用于显示各种网络相关信息,如网络连接、路由表、接口状态、无效链接、组播成员等。
netstat选项:
[root@Qi2 ~]# netstat -tlunp
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:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 7350/X
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 7259/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6935/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 6929/cup
各字段释义:
proto:数据包的协议。分为TCP和UDP
Recv-Q:表示收到的数据已经本地缓存,但还未被进程取走的数据包数量
Send-Q:对方没有收到的数据包,或者没有ACK回复的,还在本地缓冲区的数据包数量。
Local Address:本地IP:端口,通过端口可以知道本机开启了哪些服务
Foreign Address:远程主机:端口也就是远程那个IP使用那个端口连接到本机。
State:连接状态,主要时已经连接的(ESTABLISED)和监听(LISTEN)两种状态。
PID/Program name:主要是进程ID和进程命令。
列出系统中所有的网络连接,并用端口显示netstat -an
[root@Qi2 ~]# 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:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 38400 /var/run/lsm/ipc/sim
unix 2 [ ACC ] STREAM LISTENING 45497 @/tmp/dbus-SFr7mfYV
unix 2 [ ACC ] STREAM LISTENING 38407 /var/run/lsm/ipc/simc
字段释义:下部分
proto:协议主要为unix
RefCnt:连接到此Socket的进程数量
Flags:连接标识
Type :Socket访问类型
State :连接状态
I-Node :程序文件的Inode号
Path:Socket程序的路径,或者相关数据的输出路径。
连接状态说明:
CLOSED:初始(无连接)状态
LISTEN:监听状态,等待远程机器的连接
SYN_SEND:在TCP三次握手期间,主动连接端发送了SYN包后,进入此状态,等待对方的ACK包。
SYN_RECV:在TCP三次握手期间,主动连接端收到SYN包后,进入此状态。
ESTABLISHED:完成TCP三次握手后,主动连接端进入此状态,此时,TCP连接已经建立,可以进行通信。
FIN_WAIT_1:在TCP四次挥手时,主动关闭端发送FIN包后,进入此状态。
FIN_WAIT_2:在TCP四次挥手时,主动关闭端发送ACK包后,进入此状态
TIME_WAIT:在TCP四次挥手时,主动关闭端发送ACK包后,进入此状态,等待最多MSL时间,让被动关闭端收到ACK包。
CLOSING:在TCP四次挥手时,主动关闭端发送FIN包后,没有收到ACK包,却收到对方的ACK包,进入此状态。
CLOSE_WAIT:在TCP四次挥手时,被动关闭端收到FIN包后,进入此状态。
LAST_ACK:在TCP四次挥手时,被动关闭端发送FIN包后,进入此状态,等待对方的ACK包。
ss命令用于显示socket状态,他可以显示PACKET,sockets,TCP,UDP sockets,DCCP sockets,等统计。它比其他工具展示等多tcp和state信息。
语法:ss [OPTIONS] [FILTER]
-t :tcp协议的连接
-u :udp协议的连接
-l:监听状态的连接
-a:所有状态的连接
-e :显示扩展信息
-m :显示套接连接的内存信息
-p:进程及UID
-n:数字格式显示
-o state (established)
[root@Qi2 ~]# ss -nltup
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:970 *:* users:(("rpcbind",pid=6312,fd=10))
udp UNCONN 0 0 192.168.122.1:53 *:* users:(("dnsmasq",pid=7309,fd=5))
udp UNCONN 0 0 *%virbr0:67 *:* users:(("dnsmasq",pid=7309,fd=3))
traceroute命令
[root@Qi2 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (36.152.44.96), 30 hops max, 60 byte packets
1 gateway (192.168.248.2) 0.399 ms 0.238 ms 0.202 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
mtr命令
[root@Qi2 ~]# mtr -r 192.168.248.132
Start: Sun Aug 14 14:07:52 2022
HOST: Qi2 Loss% Snt Last Avg Best Wrst StDev
1.|-- Qi2 0.0% 10 0.2 0.2 0.1 0.4 0.0
第一列:显示的是IP地址和本机域名
第二列:显示的是每个对应IP的丢包率
第三列:snt:10 设置每秒发送数据包的数量,默认值为10,可以通过参数-c来指定
第四列:显示的是最近一次的返回时延
第五列:是平均值,发送ping包的平均时延
第六列:是最好或者说是时延最短的
第七列:是最差或者说是时延最长的
第八列:是标准偏差
选项:
-r:以报告模式显示
-s:用来指定ping数据包的大小
-n:no-dns不对IP地址做域名解析
-a:来设置发送包的IP地址,这个对一个主机由多个IP地址是有用的
-i:使用这个参数来设置ICMP返回之间的要取默认值为1秒
-4:IPv4
-6:IPv6
##wget:从网络上下载文件的自由工具
-r:下载目录时,递归下载目录及其子目录
-o:表示将wget下载的输出信息写入文件中
-a:表示将wget下载的输出信息追加到文件中
-O:表示将远程的文件下载到本地后,重新命名
-q:执行时,不输出任何提示信息
-r:表示递归拷贝目录
-q:安静模式,不打印拷贝的命令输出信息
-l:显示速度,单位为kb
-p:保留文件原有的权限信息
基本功能:主机发现、端口扫描、版本侦测、操作系统侦测
nmap命令格式:
nmap [扫描类型] [通用选项] {扫描目标说明}
[root@Qi1 ~]# nmap 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-26 20:30 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
-l:打开nmap的反向标志扫描功能
-v:冗余模式。它会给出扫描过程中的详细信息
-S:在一些情况下,nmap可能无法确定你的源地址
-g port:设置扫描的源端口。
-c:指定要抓取包的数量
-i:指定tcpdump需要监听的接口
-n:对地址以数字方式显示,否则显示为主机名
-P:指定要抓取的包是流入还是流出的包。
-q:快速打印输出
-x:输出包的头部数据,会以16进制和ASCII两种方式输出
-v:当分析和打印的时候,产生详细的输出
-w:将抓包数据输出到文件中而不是标准输出
-r:从给定的数据包文件中读取数据
-D:列出可用于抓包的接口