linux网络管理命令

ifconfig 配置或显示网络接口信息
-a 显示所有的网络接口信息,包括活动的和非活动的
up 激活指定网络接口
down 关闭指定网络接口
hw 设置网络接口的物理地址(MAC地址)
使用范例:
ifconfig ==>显示系统中所有网卡信息
ifconfig eth0 up ==>启动网卡eth0
ifconfig eth0 down ==>关闭网卡eth0
ifconfig eth0:0 10.0.0.8 netmask 255.255.255.0 up ==>为网卡配置别名ip


ifup [iface] 激活指定网络接口

ifdown[iface] 禁用网指定络接口

route 显示或管理路由表
-n 直接使用ip地址,不进行DNS解析主机名*
-ee 显示更详细的路由信息
add 添加路由信息*
del 删除路由信息*
target 指定目标网络或主机。可以用IP地址或主机/网络名
-net 到一个网络的路由,后面接的是一个网络地址*
-host 到一个主机的路由,后面接的是一个主机地址*
netmask NM 为添加的路由指定子网掩码*
gw GW 为发网目标网络/主机的如何分组指定网关*
dev If 指定由哪个网络设备出去,后面接网络设备名,如eth0等*
使用范例:
route del default ==>删除网关方法1
route add default gw 10.0.0.2 ==>添加网关方法1
route del default gw 10.0.0.2 ==>删除网关方法2
route add default gw 10.0.0.2 dev eth0 ==>添加网关方法2,使用dev指明网络设备,适用于多快网络设备的主机
配置网络路由(去往某一网络或网段的路由)
route add -net 192.168.1.0/24 gw 10.0.0.254
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -net 192.168.1.0/24 dev eth0
route del -net 192.168.1.0/24 dev eth0 ==>删除网络路由
#以上配置重启网络后会失效如果希望永久生效,则有如下几种方法
方法1:
vim /etc/sysconfig/netwoark-scripts/route-eth0 ==>默认不存在此文件
加入内容:
192.168.1.0/24 via 10.0.0.254

方法2:
vim /etc/sysconfig/static-routes ==>默认不存在此文件
加入内容:
any net 192.168.1.0/24 gw 10.0.0.254
方法3:
vim /etc/rc.local
加入内容:
route add -net 192.168.1.0/24 gw 10.0.0.254
提示:写到/etc/rc.local里只在开机时加载,手动重启网络后会失效,但重启系统后会生效



arp 管理系统的arp缓存
-n 显示数字ip地址*
-s <主机> <MAC> 设定指定主机的ip地址与MAV地址的静态映射*
-d <主机> 从arp缓存区中删除指定主机的arp条目*
-i <接口> 指定网络接口
-v 显示详细的arp缓存区条目,包括缓存区条目的统计信息
使用范例:
arp ==>显示arp缓存区所有条目
arp -n ==>使用-n选项以数字形式显示arp缓存区所有条目
arp -n 10.0.0.1 ==>指定查询10.0.0.1的arp条目
arp -s 10.0.0.1 00:0c:29:c0:5s:ef ==>绑定ip地址和MAC地址
arp -d 10.0.0.100 ==>删除静态arp绑定

ip 网络配置工具(参数详情见 P352)
使用范例:
ip link show dev eth0 =>显示网卡eth0的属性
ip -s -s link show dev eth0 =>两个-s更详细地显示网卡eth0的属性
ip link set eth0 up ==>激活网卡eth0
ip link set eth0 down ==>关闭网卡eth0
ip a ==>查看网卡信息
ip a add 172.16.1.13/24 dev eth0 ==>可以添加多个ip地址,这种添加的为辅助ip,之前ifconfig命令创建的别名称为ip
ip a del 172.16.1.12/24 dev eth0(注意:删除网卡的主ip地址,同时会删除网卡的所有ip地址,删除网卡的辅助ip地址,不会影响到该网卡的其他ip地址)
ip a add 10.0.0.20/32 dev eth0 label eth0:1 ==>使用label选项创建别名ip
#小结:ifconfig命令创建的别名ip,ip命令能够查询到;相反,通过ip命令创建的辅助ip,ficonfig命令查询不了,除非使用ip命令的label功能创建你的别名ip
ip route ==>查看路由表
ip route|column -t ==>使用column命令格式化,选项-t,默认根据空格分隔判断输入行的列数来创建一个表
ip route add 10.1.0.0/24 via 10.0.0.254 dev eth0 ==>添加静态路由
ip route del 10.1.0.0/24 ==>删除静态路由
ip neighbour ==>查看arp缓存
ip neighbour add 192.168.1.100 lladdr 00:0c:29:c0:5s:ef dev eth0 ==>添加静态arp
ip neighbour add 192.168.1.100 dev eth0 ==>删除静态arp



netstat 查看网络状态
-r 显示路由信息,该功能类似于route和ip route
-g 显示多播功能群组信息,该功能类似于ip maddr
-i 显示网络接口信息,该功能类似于ip -s link
-s 显示各种协议的统计信息
-n 显示数字形式的地址而不是区解析主机,端口或用户名。*
-a 显示处于监听状态的和非监听状态的socket信息*
-A 显示指定网络类型的网络连接状态
-c <秒数> 后面跟秒数,表示每个几秒就刷新显示一次*
-l 仅显示连接状态为"LISTEN"的服务的网络状态
-t 显示所有TCP连接情况*
-u 显示所有UDP连接情况*
-p 显示socket所属进程的PID和名称
常用组合:netstat -an #<==显示所有的连接信息
netstat -lntup #<==显示所有TCP和UDP正在监听的连接信息

ss 查看网络状态
-n 显示ip地址,不进行DNS解析*
-r 尝试解析数字ip地址和端口
-a 显示所有socket连接*
-l 显示所有监听socket*
-o 显示计算器信息
-e 显示详细的socket信息
-m 显示使用socket的内存使用情况
-p 显示使用socket的进程
-i 显示TCP内部信息
-s 显示socket使用统计
-4 仅显示ipv4的socket
-6 仅显示ipv6的socket
-0 仅显示PACKET的socket
-t 仅显示TCP的socket*
-u 仅显示UDP的socket*
-d 仅显示DCCP的socket
-w 仅显示RAW的socket
-x 仅显示Unix的socket
常用组合:ss -an #<==显示所有的socket连接。
ss -lntup #<==显示所有正在监听的TCP和UDP连接

ping 测试主机之间网络的连通性
-c <次数> 指定发送ICMP报文的次数。否则,ping命令将一直发送报文*
-i <时间间隔> 相邻两次发送报文的时间间隔,默认时间间隔为1s*
-n 不查询主机名,直接显示ip地址
-q 只显示命令开始时的信息和运行结束时的统计信息
-s <数据包大小> 设置发送数据包的大小,默认的大小为56字节,再加上8字节的ICMP头,一共是64字节的ICMP包
-t <生存期> 设置发送的数据包其生存期(TTL)的值
-w 截止时间 超过截止时间,立即退出ping程序
-W 超时时间 等待响应的超时时间

traceroute 追踪数据传输路由情况
-q <nqueries> 设置每一跳的探测包数量,默认是3
-I 使用ICMP ECHO探测,即ping
-n 直接使用ip地址而不使用主机名
-m 设置最大的跳数
使用范例:
traceroute www.oldboyedu.com ==>查看某主机路由情况

arping 发送arp请求
-c 发送指定次数的arp报文后退出命令*
-f 当收到一个响应报文时,立即退出命令,此选项用于判断目标主机是否存在或者正常运行*
-I <网络接口> 指定网络接口发送arp报文
-w <截止时间> 设置命令的执行截止时间
-s source 设置arping发送的arp数据包的源地址
使用范例:
arping -f 10.0.0.1 ==>检测10.0.0.1主机是否存活
arp -c 1 -I eth0 -s 10.0.05 10.0.0.2 ==>这里的10.0.0.5是ip地址,10.0.0.2时上网网关

nc 多功能网络工具
-l 指定监听端口,然后一直等待网络连接*
-z 表示zero,表示扫描时不发送如何数据*
-v 显示详细信息*
-w 设置超时时间,对-l项失效
-p 指定nc命令使用的端口,不能和-l选项一起使用
-u 使用UDP连接,默认TCP连接
-s 指定发送数据的源ip地址,适用于多网卡主机
使用范例
nc -l 123 >oldboy.nc ==>监听123端口,并将数据写入oldboy.nc
nc -l 80 <test.txt ==>一直监听80端口,test.txt是发送给用户的内容
nc -z 10.0.0.12 20-30 ==>扫描10.0.0.12主机的20-30端口

ssh 安全得远程登录主机
-p 指定ssh登录端口*
-t 强制分配伪终端,可以在远程机器上执行任何全屏程序*
-v 调试模式*
使用范例:
ssh -p 22 oldboy@10.0.0.29 ==>使用oldboy用户登录远程服务器
ssh -p 22 oldboy@10.0.0.29 "free -m" ==>远程执行命令

wget 命令行下载工具
-o 将命令行的执行结果写入文件中
-O 指定保存的文件名后下载文件*
-limit-rate 限速下载*
-b 转入后台执行命令
-c 断电续传
--user-agent 指定客户端标志
-q 关闭下载时的输出
--tries=number 设置重试的次数
--spider 模拟爬虫访问
-T seconds 设置访问的超时时间
--timeout=second 设置访问的超时时间

mailq 显示邮件传输队列
-v 调试模式,显示详细信息

mail 发送和接受邮件
-s 指定邮件主题*
-a 发送邮件附件,多个附件使用多次-a选项即可*
-b 指定密件抄送的收信人地址
-c 指定抄送人的收信人地址
使用范例:
mail -s "hello from oldnoyedu" liuhui@oldboy.edu.com
eho "hello from oldnoyedu"|mail -s "oldoy" liuhui@oldboy.edu.com
mail -s "hello from oldnoyedu" liuhui@oldboy.edu.com <test.txt

nslookup 域名查询工具

dig 域名查询工具
@<DNS服务器地址> 指定进行域名解析的域名服务器*
-x 反向域名解析
-t 指定要查询的DNS数据类型,如A、MX、PTR等。默认查询类型为A*
-b 指定使用本机的哪个IP地址向域名服务器发送域名查询请求
-p 指定域名服务器所使用的端口号
+trace 从根域开始追踪查询结果*
+nocmd 不输出dig的版本信息
+short 仅输出最精简的CNAME信息和A记录,其他不会输出
+nocomment 不输出dig详情注释信息
+nostat 不输出最后的统计信息
使用范例:
dig www.oldboyedu.com ==>查询指定域名的ip地址
dig @223.5.5.5 www.oldboyedu.com ==>使用@指定查询的DNS服务器
dig -x 101.200.195.98 ==>反向域名解析
dig -t MX oldboyedu.com ==>使用-t选项选择查询类型
dig @223.5.5.5 www.oldboyedu.com +trace ==>显示域名解析成ip的完整过程
dig +nocmd +nocomment +nostat ww.oldboyedu.com ==>精简一些说明信息

host 域名查询工具
-a 显示详细的DNS信息
-t 指定查询的域名信息类型,也可以是"A"、"ALL"、"MX"和"NS"等

nmap 网络探测工具和安全/端口扫描
-sS TCP同步扫描*
-sT TCP连接扫描
-sn 不进行端口扫描,只检查主机正在运行*
-sU 扫描UDP端口
-sV 探测服务版本信息
-Pn 只进行扫描,不ping主机
-PS 使用SYN包对目标主机进行扫描。默认是80端口,也可以指定同端口,格式:-PS22或-PS22-25,80,113,1050,记住PS和端口号之间不能有空格
-PU 使用udp ping扫描端口
-O 激活对TCP/IP指纹特征的扫描,获得远程主机的标志,也就是操作系统类型
-v 显示扫描过程的详细信息*
-S <IP> 设置扫描的源ip
-g port 设置扫描的源端口
-oN 把扫描的结果重定向到文件中
-iL filename 从文件中读取扫描目标
-p 指定要扫描的端口,可以是单独的端口,也可以用逗号分隔开多个端口,或者使用"-",表示端口范围*
-n 不进行DNS解析,加快扫描速度*
--exclude 排除指定主机
--excludefile 排除指定主机中的文件
使用范例:
nmap 10.0.0.12 ==>直接接目标主机,默认会扫描前1-1000的端口
nmap -p 1024-65535 10.0.0.12 ==>-p选项指定扫描范围
nmap 10.0.0.0/24 ==>扫描局域网内所有的ip
nmap -sn ==>使用-sn选项不扫描端口
nmap -sn 10.0.0.1-10 ==>可以使用这种地址范围进行扫描
nmap -O -sV 10.0.0.12 ==>探测目标主机的服务和操作系统的版本

tcpdump 监听网络流量
-A 以ASCII码的方式显示每一个数据包
-c <数据包数目> 接受指定的数据包数目后退出命令*
-e 每行的打印输出中将数据包的数据链路层头部信息
-i <网络接口> 指定要监听数据包的网络接口*
-n 不进行DNS解析,加快显示速度*
-nn 不将协议和端口数字等转换成名字*
-q 以快速输出方运行,此选项仅显示数据包的协议概要信息,输出信息较短*
-s <数据包大小> 设置数据包抓取长度,如果不设置则默认为68字节,设置0则自动选择合适的长度来抓取数据包
-t 每行输出中不显示时间戳标记,
-v 显示命令执行的详细信息
使用范例:
tcpdump ==>默认情况下,直接启动tcpdump将监听第一个网络接口上的所有流过的数据包
tcpdump -q ==>默认情况下,tcpdump命令输出信息较多,为了显示精简的信息,可以使用-q
tcpdump -c 5 ==>使用-c选项指定监听的数据包流量
tcpdump -i eth0 ==>使用-i选择可以指定要监听的网卡
tcpdump -n host 10.0.0.1 ==>监听所有10.0.0.1的主机收到和发出的数据包
tcpdump -n src host 10.0.0.1 ==>只监听从10.0.0.1发出的数据包
tcpdump -n dst host 10.0.0.1 ==>只监听10.0.0.1收到的数据包
tcpdump -nn port 22 ==>使用-n选项不进行DNS解析,但是会将一些协议、端口进行转换,因此使用-nn选项,监听指定端口的数据包
tcpdump -n arp ==>监听arp协议数据包
tcpdump -n ip host 10.0.0.23 and ! 10.0.0.1 ==>获取主机10.0.0.12与所有主机(除了10.0.0.1之外)通信的ip数据包
tcpdump tcp dst port 80 or src 12.130.132.30 -i eth0 -n






原文地址:https://www.cnblogs.com/liuhui-xzz/p/9609992.html