linux网络命令详解 linux常用命令

Linux——网络配置命令一、ifconfig
自ubuntu17起,已经不提供这个命令了,要自动安装
sudo apt installnet-tools
ifconfig -a :查看当前系统所有的网络接口
ifconfiginterface(PS:这里是网络接口的名称) down:禁用当前网络接口
ifconfiginterface 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)、ipa showdev 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 deldefault 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"
排查处于某个端口被占用导致服务器无法启动
【linux网络命令详解 linux常用命令】7、netstat -i
列出当前系统的所有网络接口
8、netstat -r
查看路由表信息
该命令是向某台主机()发送ICMP数据包,并接收响应
Ctrl C退出ping 命令
Linux系统中traceroute命令使用详解Linux系统中traceroute命令可以追踪到网络数据包的路由途径 。下面由linux网络命令详解我为大家整理linux网络命令详解了linux系统中traceroute命令使用详解,希望对大家有帮助!
Linux系统中traceroute命令使用详解
1.命令格式:
traceroute[参数] [主机]
2.命令功能:
traceroute 指令让linux网络命令详解你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置 。
具体参数格式:traceroute [-dFlnrvx] [-f存活数值] [-g网关][-i网络界面][-m存活数值][-p通信端口][-s来源地址][-t服务类型][-w超时秒数][主机名称或IP地址][数据包大小]
3.命令参数
-d使用socket 层级的排错功能
-f设置第一个检测数据包的存活数值TTL的大小
-F设置勿离段位 ----linux网络命令详解我也不知道啥是勿离段位,查了下没查到什么信息^^
-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 地址,三个包每次来回所花时间 。
Linux netstat命令详解Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 。
执行netstat后,其输出结果为
从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections , 称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列 。这些数字一般都应该是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网络命令详解和linux常用命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读