【面试全纪实 | Linux 08 网络通讯命令类】请回答,你真的了解Linux吗?

🗺️博客地图

📍1. ifconfig 命令

📍2. iptables 命令

📍3. netstat 命令

📍4. ping 命令

📍5. telnet 命令


1. ifconfig 命令

ifconfig 用于查看和配置 Linux 系统的网络接口。

  • 查看所有网络接口及其状态
ifconfig -a
  • 使用 up down 命令启动或停止某个接口
ifconfig eth0 up

ifconfig eth0 down

2. iptables 命令

iptables ,是一个配置 Linux 内核防火墙的命令行工具。功能非常强大,对于我们开发来说,主要掌握如何开放端口即可。例如:

  • 把来源 IP 192.168.1.101 访问本机 80 端口的包直接拒绝
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT

开启 80 端口,因为web对外都是这个端口

另外,要注意使用 iptables save 命令,进行保存。否则,服务器重启后,配置的规则将丢失。

3. netstat 命令

netstat命令用于显示网络状态,利用netstat指令可让你得知整个Linux系统的网络情况。

  • 语法

netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>] [--ip]

  • 参数说明

-a-all:显示所有连线中的Socket

-A<网络类型>-<网络类型>:列出该网络类型连线中的相关地址。

-c-continuous:持续列出网络状态。

-C-cache:显示路由器配置的快取信息。

-e-extend:显示网络其他相关信息。

-F-fib:显示FIB

-g-groups:显示多重广播功能群组组员名单。

-h-help:在线帮助。

-i-interfaces:显示网络界面信息表单。

-l-listening:显示监控中的服务器的Socket

-M-masquerade:显示伪装的网络连线。

-n-numeric:直接使用IP地址,而不通过域名服务器。

-N-netlink-symbolic:显示网络硬件外围设备的符号连接名称。

-o-timers:显示计时器。

-p-programs:显示正在使用Socket的程序识别码和程序名称。

-r–route:显示Routing Table

-s–statistice:显示网络工作信息统计表。

-t–tcp:显示TCP传输协议的连线状况。

-u–udp:显示UDP传输协议的连线状况。

-v–verbose:显示指令执行过程。

-V–version:显示版本信息。

-w–raw:显示RAW传输协议的连线状况。

-x–unix:此参数的效果和指定"-A unix"参数相同。

–ip–inet:此参数的效果和指定"-A inet"参数相同。

  • 示例

① 如何查看系统都开启了哪些端口?

[root@web-server ~]# netstat -lnp
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:8088            0.0.0.0:*               LISTEN      1456/nginx: master

② 如何查看网络连接状况?

[root@web-server ~]# 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:8088            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:30201           0.0.0.0:*               LISTEN

③ 如何统计系统当前进程连接数?

[root@web-server ~]# netstat -an | grep ESTABLISHED | wc -l
5

查看输出结果是多少就共有多少连接数

④ 用 netstat 命令配合其他命令,按照源 IP 统计所有到 80 端口的 ESTABLISHED 状态链接的个数?

严格来说,这个题目考验的是对 awk 的使用。

首先,使用 netstat -an | grep ESTABLISHED 命令。结果如下:

[root@web-server ~]# netstat -an | grep ESTABLISHED
tcp        0     52 172.17.1.1:22           172.16.9.2:48373        ESTABLISHED
udp        0      0 172.17.1.1:32753        172.17.1.1:53           ESTABLISHED
udp        0      0 172.17.1.1:12724        172.17.1.1:53           ESTABLISHED
udp        0      0 172.17.1.1:13827        172.17.1.1:53           ESTABLISHED
udp        0      0 172.17.1.1:47159        172.17.1.1:53           ESTABLISHED

4. ping 命令

Linux ping命令用于检测主机。

执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

指定接收包的次数:

ping -c 2 www.baidu.com

5. telnet 命令

Linux telnet命令用于远端登入。

执行telnet指令开启终端机阶段作业,并登入远端主机。

  • 语法

telnet [-8acdEfFKLrx] [-b<主机别名>] [-e<脱离字符>] [-k<域名>] [-l<用户名称>] [-n<记录文件>] [-S<服务类型>] [-X<认证形态>] [主机名称或IP地址<通信端口>]

  •  参数说明

-8:允许使用8位字符资料,包括输入与输出。

-a:尝试自动登入远端系统。

-b<主机别名>:使用别名指定远端主机名称。

-c:不读取用户专属目录里的.telnetrc文件。

-d:启动排错模式。

-e<脱离字符>:设置脱离字符。

-E:滤除脱离字符。

-f:此参数的效果和指定"-F"参数相同。

-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。

-k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。

-K:不自动登入远端主机。

-l<用户名称>:指定要登入远端主机的用户名称。

-L:允许输出8位字符资料。

-n<记录文件>:指定文件记录相关信息。

-r:使用类似rlogin指令的用户界面。

-S<服务类型>:设置telnet连线所需的IP TOS信息。

-x:假设主机有支持数据加密的功能,就使用它。

-X<认证形态>:关闭指定的认证形态。

  • 示例

登录远程主机

# 登录IP192.168.0.5 的远程主机

​​​​​​​[root@web-server ~]# telnet 192.168.0.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子Linux

各位看官老爷,行行好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值