首页 > 系统相关 >Linux网络命令大全,收藏不迷路!

Linux网络命令大全,收藏不迷路!

时间:2024-07-06 21:59:21浏览次数:22  
标签:00 remote 示例 迷路 sudo Linux 大全 com eth0

Linux系统在网络管理中占据重要地位。无论是服务器管理、网络诊断还是安全维护,Linux网络命令都能提供强大的支持。

网络配置命令

ifconfig

ifconfig(interface configuration)是用于配置网络接口的命令。尽管被新的ip命令所取代,但它仍然在很多系统中使用。

  • 查看网络接口配置:
ifconfig

输出示例:

  eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
          inet6 fe80::a00:27ff:fe4e:66a1  prefixlen 64  scopeid 0x20<link>
          ether 08:00:27:4e:66:a1  txqueuelen 1000  (Ethernet)
          RX packets 3190  bytes 2456758 (2.3 MiB)
          RX errors 0  dropped 0  overruns 0  frame 0
          TX packets 2901  bytes 379258 (370.3 KiB)
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

配置网络接口

  • 设置IP地址:
sudo ifconfig eth0 192.168.1.101
  • 设置子网掩码:
sudo ifconfig eth0 netmask 255.255.255.0
  • 启用/禁用网络接口:
sudo ifconfig eth0 up
sudo ifconfig eth0 down

ip

ip命令是更现代的网络配置工具,功能比ifconfig更强大。

  • 查看所有网络接口:
ip addr

输出示例:

  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
         valid_lft forever preferred_lft forever
      inet6 ::1/128 scope host
         valid_lft forever preferred_lft forever
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
      link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
      inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
         valid_lft 86329sec preferred_lft 86329sec
      inet6 fe80::a00:27ff:fe4e:66a1/64 scope link
         valid_lft forever preferred_lft forever

配置网络接口

  • 设置IP地址:
sudo ip addr add 192.168.1.101/24 dev eth0
  • 删除IP地址:
sudo ip addr del 192.168.1.101/24 dev eth0
  • 启用/禁用网络接口:
sudo ip link set eth0 up
sudo ip link set eth0 down

ping

ping命令用于测试网络主机之间的连通性。

基本用法

  • 测试与某个主机的连接:
ping google.com

输出示例:

  PING google.com (142.250.72.14) 56(84) bytes of data.
  64 bytes from muc11s06-in-f14.1e100.net (142.250.72.14): icmp_seq=1 ttl=115 time=21.3 ms
  64 bytes from muc11s06-in-f14.1e100.net (142.250.72.14): icmp_seq=2 ttl=115 time=20.6 ms

常用选项

  • 设置ping次数:
ping -c 4 google.com
  • 设置数据包大小:
ping -s 128 google.com

traceroute

traceroute命令用于跟踪数据包从源到目的地的路径。

基本用法

  • 跟踪到某个主机的路径:
traceroute google.com

输出示例:

  traceroute to google.com (142.250.72.14), 30 hops max, 60 byte packets
   1  192.168.1.1 (192.168.1.1)  2.374 ms  2.361 ms  2.350 ms
   2  10.0.0.1 (10.0.0.1)  8.259 ms  8.243 ms  8.228 ms
   3  142.250.72.14 (142.250.72.14)  19.085 ms  19.068 ms  19.051 ms

常用选项

  • 设置最大跳数:
traceroute -m 20 google.com
  • 使用特定的网络协议:
traceroute -I google.com  # 使用ICMP

mtr

mtr(My Traceroute)结合了pingtraceroute的功能,提供实时更新的网络路径信息。

基本用法

  • 使用mtr跟踪到某个主机的路径:
mtr google.com

常用选项

  • 设置显示次数:
mtr -c 10 google.com
  • 生成报告:
mtr -r google.com

网络诊断命令

nslookup

nslookup命令用于查询DNS记录,解决域名解析问题。

基本用法

  • 查询域名的IP地址:
nslookup google.com

输出示例:

  Server:         8.8.8.8
  Address:        8.8.8.8#53

  Non-authoritative answer:
  Name:   google.com
  Address: 142.250.72.14

查询指定DNS服务器

  • 使用特定的DNS服务器进行查询:
nslookup google.com 8.8.8.8

dig

dig(Domain Information Groper)是一个灵活的DNS查询工具。

基本用法

  • 查询域名的A记录:
dig google.com

输出示例:

  ; <<>> DiG 9.16.1-Ubuntu <<>> google.com
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

  ;; QUESTION SECTION:
  ;google.com.                    IN      A

  ;; ANSWER SECTION:
  google.com.             299     IN      A       142.250.72.14

  ;; Query time: 20 msec
  ;; SERVER: 192.168.1.1#53(192.168.1.1)
  ;; WHEN: Sat Jul 06 10:00:00 UTC 2024
  ;; MSG SIZE  rcvd: 55

查询特定类型的DNS记录

  • 查询MX记录:
dig google.com MX
  • 查询NS记录:
dig google.com NS

网络监听命令

tcpdump

tcpdump是一个功能强大的命令行网络流量分析工具,用于捕获和分析网络数据包。它允许用户查看网络上的数据包流动情况,帮助诊断网络问题。

基本用法

  • 捕获所有流量:
sudo tcpdump

输出示例:

  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
  10:00:00.000000 IP myhost.local > 192.168.1.1: ICMP echo request, id 12345, seq 1, length 64
  10:00:00.000001 IP 192.168.1.1 > myhost.local: ICMP echo reply, id 12345, seq 1, length 64

常用选项

  • 指定网络接口:
sudo tcpdump -i eth0
  • 捕获指定数量的数据包:
sudo tcpdump -c 10
  • 只捕获特定端口的流量:
sudo tcpdump port 80
  • 将捕获的数据包保存到文件:
sudo tcpdump -w capture.pcap
  • 从文件读取数据包:
sudo tcpdump -r capture.pcap

wireshark

wireshark是一个图形化的网络分析工具,比tcpdump更直观,适合深入分析网络流量。

基本用法

  • 启动Wireshark:
wireshark

在Wireshark界面中,选择网络接口开始捕获流量。可以使用过滤器筛选特定的流量,如httptcp.port==80等。

网络监控工具

netstat

netstat(network statistics)命令用于显示网络连接、路由表、接口状态等信息。

基本用法

  • 查看所有活动的网络连接:
netstat

输出示例:

  Active Internet connections (w/o servers)
  Proto Recv-Q Send-Q Local Address           Foreign Address         State
  tcp        0      0 myhost.local:ssh        192.168.1.2:49152        ESTABLISHED

常用选项

  • 查看所有网络连接,包括监听的:
netstat -a
  • 显示路由表:
netstat -r
  • 显示接口统计信息:
netstat -i
  • 持续更新网络连接状态:
netstat -c

ss

ss(socket statistics)是一个新的网络状态监控工具,比netstat更高效。

基本用法

  • 查看所有网络连接:
ss

输出示例:

  Netid  State      Recv-Q Send-Q     Local Address:Port       Peer Address:Port
  tcp    ESTAB      0      0          myhost.local:ssh         192.168.1.2:49152

常用选项

  • 查看所有监听的端口:
ss -l
  • 显示TCP连接:
ss -t
  • 显示UDP连接:
ss -u
  • 显示进程相关的套接字:
ss -p

网络流量分析工具

iftop

iftop是一个实时显示网络接口流量的工具,用于监控实时网络使用情况。

基本用法

  • 启动iftop监控网络接口:
sudo iftop

输出示例:

  Interface: eth0
  Hostname: myhost.local
  10.0.0.1           =>  192.168.1.1          0b      0b      0b
  10.0.0.1           <=  192.168.1.1          0b      0b      0b

常用选项

  • 指定网络接口:
sudo iftop -i eth0
  • 显示流量单位为字节:
sudo iftop -B

nload

nload是一个实时网络流量监控工具,以图形化方式显示流量。

基本用法

  • 启动nload监控网络接口:
sudo nload

输出示例:

Device eth0 [10.0.0.1] (1/1):
In:  0.00 kBit/s
Out: 0.00 kBit/s

常用选项

  • 指定网络接口:
sudo nload eth0

网络服务管理与文件传输命令

systemctl

systemctl命令是用来管理systemd系统和服务的工具。它可以用来启动、停止、重启服务,查看服务状态等。

基本用法

  • 启动服务:
sudo systemctl start <service_name>
  • 停止服务:
sudo systemctl stop <service_name>
  • 重启服务:
sudo systemctl restart <service_name>
  • 查看服务状态:
sudo systemctl status <service_name>

输出示例:

  ● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2024-07-06 10:00:00 UTC; 5min ago

常用选项

  • 启用服务开机自启动:
sudo systemctl enable <service_name>
  • 禁用服务开机自启动:
sudo systemctl disable <service_name>
  • 重新加载服务配置:
sudo systemctl reload <service_name>

service

service命令是传统的SysVinit和Upstart系统中管理服务的工具。尽管在systemd系统中被systemctl取代,但仍在很多系统中使用。

基本用法

  • 启动服务:
sudo service <service_name> start
  • 停止服务:
sudo service <service_name> stop
  • 重启服务:
sudo service <service_name> restart
  • 查看服务状态:
sudo service <service_name> status

输出示例:

  ● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2024-07-06 10:00:00 UTC; 5min ago

scp

scp(secure copy)命令用于在本地和远程主机之间复制文件,使用SSH协议确保数据的安全传输。

基本用法

  • 从本地复制文件到远程主机:
scp local_file user@remote_host:/remote/directory
  • 从远程主机复制文件到本地:
scp user@remote_host:/remote/file local_directory
  • 复制目录:
scp -r local_directory user@remote_host:/remote/directory

常用选项

  • 指定SSH端口:
scp -P 2222 local_file user@remote_host:/remote/directory
  • 显示传输进度:
scp -v local_file user@remote_host:/remote/directory

rsync

rsync命令用于高效地在本地和远程主机之间同步文件和目录,支持增量传输。

基本用法

  • 同步本地目录到远程主机:
rsync -av local_directory/ user@remote_host:/remote/directory/
  • 从远程主机同步目录到本地:
rsync -av user@remote_host:/remote/directory/ local_directory/

常用选项

  • 压缩传输数据:
rsync -avz local_directory/ user@remote_host:/remote/directory/
  • 删除目标目录中源目录不存在的文件:
rsync -av --delete local_directory/ user@remote_host:/remote/directory/
  • 仅传输文件列表,不进行实际传输:
rsync -avn local_directory/ user@remote_host:/remote/directory/

ftp

ftp(file transfer protocol)命令用于在本地和远程主机之间传输文件。虽然FTP协议在安全性方面较弱,但仍然广泛使用。

基本用法

  • 连接到FTP服务器:
ftp ftp.example.com

提示输入用户名和密码后,进入FTP命令行模式。

  • 上传文件:
put local_file
  • 下载文件:
get remote_file
  • 列出远程目录文件:
ls
  • 切换目录:
cd remote_directory
  • 退出FTP会话:
bye

常用选项

  • 使用被动模式:
ftp -p ftp.example.com

sftp

sftp(secure file transfer protocol)命令类似于ftp,但使用SSH协议进行安全传输。

基本用法

  • 连接到SFTP服务器:
sftp user@remote_host

提示输入密码后,进入SFTP命令行模式。

  • 上传文件:
put local_file
  • 下载文件:
get remote_file
  • 列出远程目录文件:
ls
  • 切换目录:
cd remote_directory
  • 退出SFTP会话:
bye

常用选项

  • 指定SSH端口:
sftp -P 2222 user@remote_host

网络安全工具与高级网络命令

iptables

iptables是Linux内核中的防火墙工具,用于设置、维护和检查IPv4数据包过滤规则。通过iptables,可以实现网络流量的控制和安全防护。

基本用法

  • 显示当前的防火墙规则:
sudo iptables -L

输出示例:

  Chain INPUT (policy ACCEPT)
  target     prot opt source               destination
  ACCEPT     all  --  anywhere             anywhere

  Chain FORWARD (policy ACCEPT)
  target     prot opt source               destination

  Chain OUTPUT (policy ACCEPT)
  target     prot opt source               destination

常用操作

  • 添加规则:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 删除规则:
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
  • 保存规则:

在Debian/Ubuntu系统上:

sudo iptables-save > /etc/iptables/rules.v4

在CentOS/RHEL系统上:

sudo service iptables save

ufw

ufw(uncomplicated firewall)是一个简化的防火墙工具,基于iptables,旨在简化防火墙管理。它主要用于Debian和Ubuntu系统。

基本用法

  • 启用ufw
sudo ufw enable
  • 禁用ufw
sudo ufw disable
  • 查看状态:
sudo ufw status

输出示例:

  Status: active

  To                         Action      From
  --                         ------      ----
  22/tcp                     ALLOW       Anywhere
  80/tcp                     ALLOW       Anywhere

常用操作

  • 允许端口:
sudo ufw allow 22/tcp
  • 禁止端口:
sudo ufw deny 22/tcp
  • 删除规则:
sudo ufw delete allow 22/tcp

fail2ban

fail2ban是一种防护软件,用于保护服务器免受暴力破解攻击。它会监控日志文件,并根据特定规则自动禁止可疑IP地址。

安装

  • 在Debian/Ubuntu系统上安装fail2ban
sudo apt-get install fail2ban

配置

  • 编辑fail2ban配置文件:
sudo nano /etc/fail2ban/jail.local

添加如下配置:

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 3
  • 启动fail2ban
sudo systemctl start fail2ban
  • 查看fail2ban状态:
sudo fail2ban-client status

输出示例:

Status
|- Number of jail:      1
`- Jail list:   sshd

高级网络命令

ip

ip命令是iproute2工具包的一部分,用于显示和操作路由、网络设备、策略路由和隧道。

基本用法

  • 显示所有网络接口:
ip addr

输出示例:

  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
         valid_lft forever preferred_lft forever
  2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
      link/ether 00:15:5d:00:1a:2b brd ff:ff:ff:ff:ff:ff
      inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
         valid_lft 86163sec preferred_lft 86163sec

常用操作

  • 添加IP地址:
sudo ip addr add 192.168.1.101/24 dev eth0
  • 删除IP地址:
sudo ip addr del 192.168.1.101/24 dev eth0
  • 启用网络接口:
sudo ip link set eth0 up
  • 禁用网络接口:
sudo ip link set eth0 down

ethtool

ethtool命令用于查询和更改以太网设备的设置,适用于硬件调试和性能优化。

基本用法

  • 查看网络接口设置:
sudo ethtool eth0

输出示例:

  Settings for eth0:
      Supported ports: [ TP ]
      Supported link modes:   10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Supported pause frame use: No
      Supports auto-negotiation: Yes
      Advertised link modes:  10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Advertised pause frame use: No
      Advertised auto-negotiation: Yes
      Speed: 1000Mb/s
      Duplex: Full
      Port: Twisted Pair
      PHYAD: 1
      Transceiver: internal
      Auto-negotiation: on

常用操作

  • 修改速度和双工模式:
sudo ethtool -s eth0 speed 1000 duplex full autoneg on
  • 查看驱动信息:
sudo ethtool -i eth0

nmap

nmap(network mapper)是一款开源的网络扫描和安全审核工具,用于发现网络中的设备和服务。

安装

  • 在Debian/Ubuntu系统上安装nmap
sudo apt-get install nmap

基本用法

  • 扫描单个主机:
nmap example.com

输出示例:

  Starting Nmap 7.80 ( https://nmap.org ) at 2024-07-06 10:00 UTC
  Nmap scan report for example.com (93.184.216.34)
  Host is up (0.010s latency).
  Not shown: 998 filtered ports
  PORT    STATE  SERVICE
  80/tcp  open   http
  443/tcp open   https

常用选项

  • 扫描特定端口:
nmap -p 22,80,443 example.com
  • 扫描网络段:
nmap 192.168.1.0/24
  • 扫描操作系统和服务版本:
nmap -A example.com

标签:00,remote,示例,迷路,sudo,Linux,大全,com,eth0
From: https://blog.csdn.net/weixin_43025343/article/details/140236453

相关文章

  • Linux开发:进程间通过Unix Domain Socket传递数据
    进程间传递数据的方式有很多种,Linux还提供一种特殊的Socket用于在多进程间传递数据,就是UnixDomainSocket(UDS)。虽然通过普通的Socket也能做到在多进程间传递数据,不过这样需要通过协议栈层的打包与拆包,未免有些浪费效率,通过UDS,数据仅仅通过一个特殊的sock文件就可以进行传递。......
  • Linux 【NAS存储】远程共享存储
    文件系统级别共享(NAS存储)-----NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实......
  • Linux 【FTP】文件传输协议
    FTP:FileTransferProtocol:文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。FTP基于TCP协议生成一个虚拟的连接,用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。FTP服务是Client/Server(简称C/S......
  • Linux常用面试题
    系统部分1、在linux系统中,获取命令帮助的方法有哪些?   man(查看手册页)    help(查看内部命令)   --help(查看外部命令)2、列举find命令的用法?(主要说明使用的选项及其含义)   find查找文件或目录      -name   根据目标的名称进程查找,允许使......
  • Linux系统管理面试题
    中级系统管理面试题训练内容:1)编译安装源代码的过程?      从官方网站下载源码包校验md5值   解压   tar命令解包      配置   进入解压目录配置,指定对应的模块、解包的路径   编译   源代码编译成二进制文件      安装 ......
  • 在没有网络的情况,mac如何与vmware中的linux系统通信,例如在mac上ping通centos系统
    1.配置Host-Only网络在VMware中配置Host-Only网络:打开VMware并选择您的CentOS虚拟机。关闭虚拟机(如果它正在运行)。点击虚拟机的设置(Settings)。在设置窗口中,选择“网络适配器”(NetworkAdapter)。选择“Host-Only”网络连接类型。保存设置并启动您的虚拟机。2.配置CentO......
  • 【技术点】嵌入式技术考点二:Linux系统
    文章目录1.makefile是什么?它的作用是什么?2.什么是静态库/动态库?作用是什么?有什么区别?动态库如何更新?3.代码编译的过程有哪些?4.程序调试的方法有哪些?5.链接和硬链接的区别是什么,Linux中常用的文件系统及优缺点?6.简述Linux中的堆栈,获取内存的方法及优点,如何预防内存泄漏?7.......
  • wsl安装Linux系统到指定位置
    默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。1、导出镜像通过wsl-l-v查看当前已安装的系统版本。导出到当前目录位置,也可以指定目录位置。wsl--......
  • 基于Linux/ARM/单片机利用状态机对多个按键进行扫描实现短按或者长按
    1)Linux/ARM/单片机入门级按键扫描程序设计,分享给将要学习或者正在学习Linux/ARM/单片机开发的同学。2)内容属于原创,若转载,请说明出处。3)提供相关问题有偿答疑和支持。学习Linux/ARM/单片机的同学都会学习到一个知识点,就是按键扫描,本课题基于SigmaStar的平台SSC375芯片SOC详细......
  • Linux系统中交叉编译opencv库
    目标:将opencv进行交叉编译,使其能在rk3326板子上运行使用。环境:ubuntu:18.04opencv:4.5.4opencv源码从挂网下载:opencv源码下载地址交叉编译链:gcc-arm-10.3-linux-gun一.环境准备1.交叉编译链我配置在/opt/gcc-arm-10.3-linux-gun中,可根据实际情况自行配置目录;2.opencv......