Linux netstat命令详解
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
台安ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
执行netstat后,其输出结果为
从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
列出所有端口 netstat -a
列出所有 tcp 端口 netstat -at
列出所有 udp 端口 netstat -au
只显示监听端口 netstat -l
只列出所有监听 tcp 端口 netstat -lt
只列出所有监听 udp 端口 netstat -lu
只列出所有监听 UNIX 端口 netstat -lx
显示所有端口的统计信息 netstat -s
显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。
如果只是不想让这三个名称中的一个被显示,使用以下命令
netstat 将每隔一秒输出网络信息。
在输出的末尾,会有如下的信息
注意: 使用 netstat -rn 显示数字格式,不查询主机名称。
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
找出运行在指定端口的进程
显示详细信息,像是 ifconfig 使用 netstat -ie:
查看连接某服务端口最多的的IP地址
TCP各种状态列表
Linux系统中traceroute命令使用详解
Linux系统中traceroute命令可以追踪到网络数据包的路由途径。下面由我为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助!
Linux系统中traceroute命令使用详解
1.命令格式:
traceroute[参数] [主机]
2.命令功能:
traceroute 指令让你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置。
具体参数格式:traceroute [-dFlnrvx] [-f存活数值] [-g网关][-i网络界面][-m存活数值][-p通信端口][-s来源地址][-t服务类型][-w超时秒数][主机名称或IP地址][数据包大小]
3.命令参数
-d使用socket 层级的排错功能
-f设置第一个检测数据包的存活数值TTL的大小
-F设置勿离段位 ----我也不知道啥是勿离段位,查了下没查到什么信息^^
-g设置来源路由网关,最多可设置8个
-i使用指定的网络界面送出数据包
-I使用ICMP回应取代UDP资料信息
-m设置检测数据包的最大存活数值TTL 的大小
-n直接使用IP地址而非主机名称
-p设置UDP传输协议的通信端口
-r忽略普通的routing table ,直接将数据包送到远端主机上
-s设置本地主机送出数据包的IP地址
-t设置检测数据包的TOS数值
-v详细显示指令的执行过程
-w设置等待远端主机回报的时间
-x开启或关闭数据包的正确性检验
linux系统中traceroute命令实例
实例1:traceroute 用法简单,最常用的用法
命令:traceroute
说明:
记录按序列号从1开始,每个记录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是 -q 的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 , 表示向每个网关发送4个数据包
有时我们 traceroute 一台主机时,会看到有一些行是以星号表示的。出现这种情况,可能是防火墙封掉了 ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因,当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加 -n 参数来避免DNS 解析,以 IP格式 输出数据。
如果在局域网中的不同网段之间,我们可以通过 traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到 traceroute 追踪数据包所经过的网关,提交 IDC 服务商,也有助于解决问题;但目前看来国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。
实例2:跳数设置
命令:
traceroute -m 10
实例3:只显示IP 地址,不查主机名DNS
命令:traceroute -n
实例4:探测包使用的基本UDP端口设置6888
命令:traceroute -p 6888
实例5:把探测包的个数设置为4个
命令:traceroute -q 4
实例6:绕过正常的路由表,直接发送到网络相连的主机
命令:traceroute -r
实例7:把对外发探测包的等待响应时间设置为3秒
命令:traceroute -w 3
补充:linux系统中traceroute 的工作原理
traceroute 程序的设计是利用 ICMP 及IP header 的TTL(time to live)栏位(field)。首先,traceroute 送出一个 TTL 是1 的IP datagram(每次送的的是3个 40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个 datagram 时,它将TTL减少 1,此时,TTL变为0了,所以该路径会将次 datagram 丢掉,并送回一个 【ICMP time exceeded】消息,traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个 TTL为 2 的 datagram ,发现第二个路由器,然后一直重复执行这种操作,直到某个datagram 抵达目的地。
在traceroute 送出 UDP datagram 到目的地时,它所选择送达的 port number 是一个一般应用程序都不会用的号码,所以当此UDP datagram到达目的地后该主机会送回一个 ICMP port unreachable 的消息,而当traceroute 收到这个消息时,便知道目的地已经到达,所以 traceroute 在 server 端也就没有所谓的 daemon 程式。
traceroute 通过计算 ICMP TTL 到期消息设备的IP 地址并做域名解析。每次,traceroute 都打印出一系列数据,包括所经过的路由设备的域名及 IP 地址,三个包每次来回所花时间。
linux5——网络命令
##Ctrl+D:在目录下敲击该命令,作用是退出当前用户。
##Ctrl+D:在命令mail、write等命令中敲击该命令,作用是退出当前命令。
1.write
语法:write 用户名
功能:给用户发信息,以Ctrl+D保存结束; 即时通信
2.wall(write all)
语法:wall [message]
功能:发广播信息(给所有用户发信息); 回车键结束命令
3.ping
语法:ping [选项] IP地址
功能:测试网络连通性
-c 次数:指定发送次数
-s 字节:指定探测包的大小
4.ifconfig(interface configure)
语法:ifconfig(或者ifconfig 网卡地址 IP地址 )
功能:查看和设置网卡信息
inet6: IPv6地址目前不生效
5.mail
语法:mail [用户名]
功能:查看或者发送电子邮件 ##输入邮件内容时,删除键为 ctrl+backspace
6.last
语法:last
功能:显示当前与过去登入系统的用户信息
7.lastlog
语法:lastlog
功能:显示所有用户最后登录时间
8.traceroute
语法:traceroute [目标主机]
功能:显示发出数据包的主机到目标主机之间的网关数量
## 星号*** 可能是防火墙封掉了ICMP的返回信息,所以得不到数据包返回数据
9.netstat
语法:netstat [选项]
功能:显示网络相关信息
-a:列出所有网络状态,包括Socket程序
-c 秒数:指定每隔几秒刷新一次网络状态
-n:使用IP地址和端口号显示,不是用域名和服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的链接状况
-u:显示使用UDP协议端口的链接状况
-l:加显示监听状态的链接
-r:显示路由表
“tuln”选项:查看本机开启的端口,只能查看监听状态的链接。
1) Proto:网络连接的协议,一般就是 TCP 协议或者 UDP 协议。
2) Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。
3) Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备 ACK 标志的数据包。
4) Local Address:本机的 IP 地址和端口号。
5) ForeignAddress:远程主机的 IP 地址和端口号。
6) State:状态。常见的状态主要有以下几种。
-LISTEN:监听状态,只有 TCP 协议需要监听,而 UDP 协议不需要监听。
-ESTABLISHED:已经建立连接的状态。如果使用"-I"选项,则看不到已经建立连接的状态。
-SYN_SENT:SYN 发起包,就是主动发起连接的数据包。
-SYN_RECV:接收到主动连接的数据包。
-FIN_WAIT1:正在中断的连接。
-FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。
-TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。
-CLOSED:套接字没有被使用。
最常用的是LISTEN和ESTABLISHED
10.numtui
语法:numtui
功能:配置网络——centos7独有的功能
11.mount
语法:mount [-t 文件系统] 设备文件名 挂载点
功能:挂载外接设备
Linux——网络配置命令
一、ifconfig
自ubuntu17起,已经不提供这个命令了,要自动安装
sudo apt install net-tools
ifconfig -a :查看当前系统所有的网络接口
ifconfig interface(PS:这里是网络接口的名称) down:禁用当前网络接口
ifconfig interface up :启用网络接口
二、ip命令
1、管理网络接口
1)、ip link list 显示网络设备的运行状态
2)、ip -s link list 显示更详细的网络设备运行状态
4)、ip link set dev ens33 mtu 1600: 改变网络设备最大传输单元 MTU的值为1600
2、管理ip地址
1)、ip a show dev ens33 显示指定网络接口的ip
2)、ip addr ls ens33
5)、ip -4 addr flush ens33
通过id修改的ip地址重启后会消失。如果要永久保存,则需要修改配置文件
3、管理路由表
1)、ip route show 显示main 路由表的路由信息
每行定义一个路由表,前面的数字为路由编号,后面为路由名称
以上的几个路由表为默认路由表,用户不可以修改
默认所有的路由表都会被插入到254的main表中。在进行路由查询时,内核只使用路由表main
3)、ip route show table local 指定显示路由表
4、管理策略路由
1)、ip route list 列出当前系统的策略路由规则
2、添加一条到达网络224.0.0.0/28的路由
route add -net 224.0.0.0/28 netmask 224.0.0.0 dev docker0
3、删除指定的路由记录224.0.0.0
route del -net 224.0.0.0 netmask 224.0.0.0
route -n 查看路由
5、删除默认网关
route del default gw 172.17.0.0 dev docker0
route -n
四、netstat命令
1、netstat(network status) 查看各种网络信息的,包括网络连接、路由表以及网络接口的各种统计数据
netstat [options]
常用的几个选项:
-a :显示所有处于活动状态的套接字
-t :显示TCP/IP协议的连接信息
-l:列出所有处于监听状态的套接字
-n:直接显示ip地址,不转换成域名
-i :列出所有的网络接口
-p:显示使用套接字的进程id和程序名
-r:显示路由表信息
2、netstat -a
显示所有的端口,包含未监听的和监听的
3、nestat -at
只显示TCP/IP协议的连接
4、netstat -tl
只显示处于监听状态的TCP连接
5、netstat -tlanx
显示数字形式的ip地址
6、netstat -anp | grep ":80"
排查处于某个端口被占用导致服务器无法启动
7、netstat -i
列出当前系统的所有网络接口
8、netstat -r
查看路由表信息
该命令是向某台主机( )发送ICMP数据包,并接收响应
Ctrl+C退出ping 命令
文章名称:linux网络命令解析,linux网络操作
文章来源:http://scyingshan.cn/article/dssscig.html