netstat命令和ss命令
目录
一、netstat命令
输出介绍
常用命令参数
用法:
二、ss命令
常用命令参数
例
三、跟踪数据包命令
四、域名解析
设置主机DNS地址的三种方式
一、netstat命令
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
输出介绍
netstat的输出结果可以分为两个部分
1、Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
2、Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto:显示连接使用的协议。
RefCnt:表示连接到本套接口上的进程号。
Types:显示套接口的类型。
State:显示套接口当前的状态。
Path:表示连接到套接口的其它进程使用的路径名。
常用命令参数
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处于监听(Listening)状态的网络连接及端口信息。 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限
用法:
①通常使用“-anpt”或“-anpu”组合选项,以数字形式显示当前系统中所有的 TCP 和UDP连接信息,同时显示对应的进程信息
②配合管道符grep过滤出特定的记录
例
[root@ky17 bao]# netstat -anpt |grep sshd 查看sshd端口的网络连接状态
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8970/sshd
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 9675/sshd: bao@pts/
tcp 0 52 192.168.247.17:22 192.168.247.1:56584 ESTABLISHED 9673/sshd: bao [pri
tcp6 0 0 :::22 :::* LISTEN 8970/sshd
tcp6 0 0 ::1:6010 :::* LISTEN 9675/sshd: bao@pts/
[root@ky17 bao]# netstat -ant |wc -l 直接统计tcp数量监听的数量
16
二、ss命令
ss 是 Socket Statistics 的缩写,也可以查看网络的状态。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当服务器的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,因此 ss 命令的性能会好很多。
套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。
常用命令参数
-h:--help 通过该选项获取更多的使用帮助。
-V:--version 显示软件的版本号。
-t:--tcp 显示 TCP 协议的 sockets。
-u:--udp 显示 UDP 协议的 sockets。
-n:--numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh",只会显示22 。
-l:--listening 只显示处于监听状态的端口。
-p:--processes 显示监听端口的进程。
-a: --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接。
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。
-o 选项可用于显示计时器信息
-w 用于字符串精确匹配
例
[root@ky17 bao]# ss -tn | grep -w 22 查看22端口的连接状态
ESTAB 0 52 192.168.247.17:22 192.168.247.1:61035
[root@ky17 bao]# ss -tnl sport le 500 查看端口号小于500的端口信息
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@ky17 bao]# ss -tnl sport ge 500 查看端口号大于500的端口信息
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:6000 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
LISTEN 0 128 :::6000 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 128 ::1:6010 :::*
三、跟踪数据包命令
跟踪数据包的路由途径:traceroute
若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”
traceroute + 目标IP
例
[root@ky17 bao]# traceroute 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets1 localhost (127.0.0.1) 0.061 ms 0.009 ms 0.006 ms
四、域名解析
nslookup + DNS服务器地址 (如百度)
例
[root@ky17 bao]# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 103.235.46.39
设置主机DNS地址的三种方式
vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
resolv.conf 文件中的“search localdomain”行用来设置默认的搜索域(域名扩展名)。
例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”。
一行一个DNS,最多配置三个DNS
/etc/resolv.conf 文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做 的修改将会立刻生效。Linux 操作系统中最多可以指定 3 个(第 3 个以后的将被忽略)不同 的 DNS 服务器地址,优先使用第一个 DNS 服务器。
本地主机映射文件
文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
在/etc/hosts 文件中添加“119.75.218.70 www.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS
netstat命令和ss命令相关推荐
- 监听队列中linux方法ss -a,Linux命令:ss命令
ss功能:用来显示套接字信息的,类似于netstat,可以显示更多的信息,用于替代netstat. ss常用选项 ss -t:tcp协议的连接 -u:udp协议的链接 -w:裸套接字相关 -x:uni ...
- linux命令:ss命令的介绍
Linux系统中ss命令是 Socket Statistics 的缩写. ss 命令可以用来获取socket 统计信息,它显示的内容和 netstat 类似.但 ss 的优势在于它能够显示更多更详细的 ...
- 每天一个linux命令(44)--ss命令
ss 是 socket statistics 的缩写.顾名思义,ss 命令可以用来获取socket 统计信息,它可以显示和netstat 类似的内容.但 ss 的优势在于它能够显示更多更详细的有关TC ...
- Linux网络状态工具ss命令操作详解
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...
- 【Linux】一步一步学Linux——ss命令(170)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 ss命令用来显示处于活动状态的套接字信息.ss命令可以用来 ...
- ss命令,显示socket状态
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...
- Linux之ss命令
[Linux常用命令速查手册]关注[入门小站],后台回复 「1001」 自取. ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和nets ...
- linux网络分析命令:ss
在linux的网络分析中,ss命令绝对是一个很有用的命令,本文简单介绍一些使用场景. 而且对比netstat命令,ss命令执行速度会更快. 因为netstat是遍历/proc下面每个PID目录,ss直 ...
- ss 命令查看连接数
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix dom ...
- linux中ss命令
一.ss命令简介 ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效.s ...
最新文章
- 利用github-pages建立个人博客
- 快做这 15点,让 SpringBoot 启动更快一点!
- 【图像分割应用】医学图像分割小总结
- element vue 纵向滑动条_【求助】vue element搭建的后台,侧边栏如何设置滚动条?...
- 【深度学习】小目标检测、图像分类、图像识别等开源数据集汇总
- gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】
- 批处理延时启动的几个方法
- 硬盘安装以及磁盘分区和检测(笔记本R7000)
- etcd与mysql_etcd数据库备份与还原
- (六)Neo4j综合项目
- java se 9.0.4_jre 9下载(Java SE Runtime Environment)下载
- Scrapy 爬虫框架初体验三 —— 工程优化及其完善
- 基于RxJava2+Retrofit2简单易用的网络请求实现
- assertion failed:Path for IClasspathEntry must be absolute
- 迷宫问题c语言图形化,c语言写的迷宫问题
- msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
- 微服务之Go-Micro(八)基于Gin框架的Http网关
- hadoop面试题汇总
- ZZULIOJ 1125: 上三角矩阵的判断,Java
- (转帖)ConcurrentHashMap实现原理(3)