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

网络东西不好懂2024-07-06 21:57:20  110

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

网络配置命令

ifconfig

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

查看网络接口配置:

ifconfig

输出示例:

eth0: flags=4163 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 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 upsudo ifconfig eth0 down

ip

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

查看所有网络接口:

ip addr

输出示例:

1: lo: 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: 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 upsudo 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)结合了ping和traceroute的功能,提供实时更新的网络路径信息。

基本用法

使用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界面中,选择网络接口开始捕获流量。可以使用过滤器筛选特定的流量,如http、tcp.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/sOut: 0.00 kBit/s

常用选项

指定网络接口:

sudo nload eth0

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

systemctl

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

基本用法

启动服务:

sudo systemctl start

停止服务:

sudo systemctl stop

重启服务:

sudo systemctl restart

查看服务状态:

sudo systemctl 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

常用选项

启用服务开机自启动:

sudo systemctl enable

禁用服务开机自启动:

sudo systemctl disable

重新加载服务配置:

sudo systemctl reload

service

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

基本用法

启动服务:

sudo service start

停止服务:

sudo service stop

重启服务:

sudo service restart

查看服务状态:

sudo service 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 = trueport = sshlogpath = /var/log/auth.logmaxretry = 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: 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: 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

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/835343.html
0
随机主题
新华都-9.95%跌停, 总市值50.18亿元浙江永强:拟不超5000万美元在新加坡投资设立子公司看不到武磊vs孙兴慜? 媒体人: 孙兴慜恐无法参加与中国队的比赛《法外枭雄: 滚石城》Steam版6月18日发售王思聪骂汪峰被吐槽五十步笑百步, 都不长情, 婚恋失败也没损失喜讯! 叶檀说自己复查又一个120分! 网友: 希望蔡磊也有好运气!大众确认: 全新SUV四季度首发! 外观酷似路虎揽胜, 满意吗?凤姐国外被偶遇:胖到不敢认了!“土包子”翻身记, 更新潮的燕京啤酒和年轻人做朋友!姚明真笑了!辽宁豪取三连冠,郭艾伦和杨鸣拥抱,赵继伟表情抢镜全新凯迪拉克XT5曝光,2.0T混动+贯穿大屏/尺寸加大/或于年内上市赵燕菁: 房地产新政本质是救债务端, 这关乎中美博弈的走势6月30截止! Shams: 詹姆斯执行/拒绝球员选项两种方案都在讨论中澳媒文章: 从义乌看中国供应链强大韧性西媒: 巴萨已选定弗利克接替哈维在618电商节, 小米14Pro突降1120元, 难得的购机良机米莱重申“将阿根廷美元化”承诺: 阿根廷央行将会停印比索, 让美元取而代之越南经济崩盘! 重蹈日本80年代覆辙, 或成为亚洲第一个倒下的国家四部门: 营造良好的货币金融环境湖人悔青肠子! 森林狼导演惊人大逆转, 约、穆超神, 输球因此人!张作霖做事有多狠?不仅崩掉自己小舅子,还敢集合部队和日本开战
最新回复(0)