linux常用操作指令3 您所在的位置:网站首页 linux有哪些版本支持ifconfig linux常用操作指令3

linux常用操作指令3

2024-07-13 05:10| 来源: 网络整理| 查看: 265

网络管理常用命令 网络管理常用命令1、netstat(检验本机端口的网络连接情况,非常重要)2、ping指令(测试另一台主机是否可达)3、host指令(查域名IP)4、ifconfig (输出当前系统所有处于活动状态的网络接口)5、tcpdump (网络抓包工具) 参考

网络管理常用命令 1、netstat(检验本机端口的网络连接情况,非常重要)

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

使用方式

netstat [选项] [参数]

命令参数

-a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。 提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

命令实例

1. 列出所有端口 (包括监听和未监听的),面试重点

列出所有端口: netstat -a 列出所有tcp端口: netstat -at 列出所有udp端口: netstat -au //列出所有端口 netstat -a # netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket Proto显示连接使用的协议, RefCnt表示连接到本套接口上的进程数量, Types显示套接口的类型, State显示套接口当前的状态, Path表示连接到套接口的其它进程使用的路径名。 一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列,这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积,这种情况非常少见。另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。 //列出所有 tcp 端口 netstat -at # netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN //列出所有 udp 端口 netstat -au # netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:bootpc *:* udp 0 0 *:49119 *:* udp 0 0 *:mdns *:*

2. 列出所有处于监听状态的 Sockets

只显示监听端口: netstat -l 只列出所有监听tcp端口: netstat -lt 只列出所有监听udp端口: netstat -lu 只列出所有监听UNIX端口: netstat -lx // 只显示监听端口 netstat -l # netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp *:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN udp 0 0 *:49119 *:* //只列出所有监听 tcp 端口 netstat -lt # netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN // 只列出所有监听 udp 端口 netstat -lu # netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:49119 *:* udp 0 0 *:mdns *:* //只列出所有监听 UNIX 端口 netstat -lx # netstat -lx Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6294 private/maildrop unix 2 [ ACC ] STREAM LISTENING 6203 public/cleanup unix 2 [ ACC ] STREAM LISTENING 6302 private/ifmail unix 2 [ ACC ] STREAM LISTENING 6306 private/bsmtp

3. 不显示主机,端口和用户名 (host, port or user) 当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。该参数可以加速output的输出,因为不用进行比对查询。

4. 显示 PID 和进程名称(非常非常重要) netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 10.0.2.15:ssh 10.0.2.2:52964 ESTABLISHED 3008/sshd tcp 0 0 10.0.2.15:ssh 10.0.2.2:52091 ESTABLISHED 2813/sshd

显示指定端口的状态信息和进程信息,也就是找出程序运行的端口:netstat -apn | grep port

//并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息 # netstat -apn | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1438/sshd tcp 0 0 10.0.2.15:22 10.0.2.2:52964 ESTABLISHED 3008/sshd tcp 0 0 10.0.2.15:22 10.0.2.2:52091 ESTABLISHED 2813/sshd tcp 0 0 :::22 :::* LISTEN 1438/sshd unix 3 [ ] STREAM CONNECTED 18443 3008/sshd unix 3 [ ] STREAM CONNECTED 18442 3011/sshd unix 2 [ ] DGRAM 18439 3008/sshd unix 3 [ ] STREAM CONNECTED 17777 2813/sshd unix 3 [ ] STREAM CONNECTED 17776 2816/sshd unix 2 [ ] DGRAM 17773 2813/sshd //找出运行在指定端口的进程 # netstat -an | grep ':22' tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 10.0.2.15:22 10.0.2.2:52964 ESTABLISHED tcp 0 0 10.0.2.15:22 10.0.2.2:52091 ESTABLISHED tcp 0 0 :::22 :::* LISTEN 2、ping指令(测试另一台主机是否可达)

用于测试另一台主机是否可达,测试网络是否连通以及时延

windows下ping是32比特,默认发送4次数据包结束linux下ping是64比特,默认不停发送数据包,直到手动停止

使用格式

ping ip

命令参数

-d 使用Socket的SO_DEBUG功能。 -f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。 -n 只输出数值。 -q 不显示任何传送封包的信息,只显示最后的结果。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。 -R 记录路由过程。 -v 详细显示指令的执行过程。 -c 数目:在发送指定数目的包后停止。 -i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。 -I 网络界面:使用指定的网络界面送出数据包。 -l 前置载入:设置在送出要求信息之前,先行发出的数据包。 -p 范本样式:设置填满数据包的范本样式。 -s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。 -t 存活数值:设置存活数值TTL的大小。

更加详细参数说明

ping通的情况

[root@localhost ~]# ping 192.168.120.205 PING 192.168.120.205 (192.168.120.205) 56(84) bytes of data. 64 bytes from 192.168.120.205: icmp_seq=1 ttl=64 time=0.720 ms 64 bytes from 192.168.120.205: icmp_seq=2 ttl=64 time=0.181 ms 64 bytes from 192.168.120.205: icmp_seq=3 ttl=64 time=0.191 ms 64 bytes from 192.168.120.205: icmp_seq=4 ttl=64 time=0.188 ms 64 bytes from 192.168.120.205: icmp_seq=5 ttl=64 time=0.189 ms --- 192.168.120.205 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 0.181/0.293/0.720/0.214 ms

图中返回内容具体的含义如下:

① ping目标主机的域名和IP(ping会自动将域名转换为IP)② 不带包头的包大小和带包头的包大小(参考“-s”参数)③ icmp_seq:ping序列,从1开始;如果数字不是按顺序递增也就意味着丢包了 ttl:剩余的ttl;见TTL解释time: 响应时间,数值越小,联通速度越快; ④ 发出去的包数,返回的包数,丢包率,耗费时间;⑤ 最小/最大/平均响应时间和本机硬件耗费时间;

ping不通的情况

[root@localhost ~]# ping 192.168.120.202 PING 192.168.120.202 (192.168.120.202) 56(84) bytes of data. From 192.168.120.204 icmp_seq=1 Destination Host Unreachable From 192.168.120.204 icmp_seq=2 Destination Host Unreachable From 192.168.120.204 icmp_seq=3 Destination Host Unreachable From 192.168.120.204 icmp_seq=4 Destination Host Unreachable From 192.168.120.204 icmp_seq=5 Destination Host Unreachable From 192.168.120.204 icmp_seq=6 Destination Host Unreachable --- 192.168.120.202 ping statistics --- 8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7005ms , pipe 4

ping指定次数

[root@localhost ~]# ping -c 10 192.168.120.206 PING 192.168.120.206 (192.168.120.206) 56(84) bytes of data. 64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.25 ms 64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.260 ms 64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.242 ms 64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.271 ms 64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.274 ms 64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.295 ms 64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.269 ms 64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.270 ms 64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.253 ms 64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.289 ms --- 192.168.120.206 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9000ms rtt min/avg/max/mdev = 0.242/0.367/1.251/0.295 ms 3、host指令(查域名IP)

返回域名的IP地址 ,用来查询DNS记录

语法 host (选项) (参数)

选项

-a : 显示详细的DNS信息 -c : 指定查询类型,默认值为“IN” -C : 查询指定主机的完整的SOA记录 -r : 在查询域名时,不使用递归的查询方式 -t : 指定查询的域名信息类型 -v : 显示指令执行的详细信息 -w : 如果域名系统服务器没有给出应答信息,则总是等待,直到域名服务器给出应答 -W : 指定域名查询最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令 -4 : 使用IPv4 -6 : 使用IPv6

查出某个主机名的IP 第一种方法:是用resolv.conf中定义的DNS服务器查出百度主机的IP。 第二种方法:是用谷歌的DNS(8.8.8.8)来查百度主机的IP。 在这里插入图片描述 查询域名的所有信息

[root@localhost ~]# host -a www.baidu.com //查询域名的所有信息 Trying "www.baidu.com" ;; ->>HEADER


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有