0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux网络运维中常见的命令

jf_TEuU2tls 来源:浩道linux 2023-01-03 16:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天浩道跟大家分享linux网络运维中常见的命令,掌握好这些命令,在排查故障时将会游刃有余!

tcpdump和ethereal可以用来获取和分析网络通讯活动,他们都是使用libpcap库来捕获网络封包的。

在混杂模式下他们可以监控网络适配器的所有通讯活动并捕获网卡所接收的所有帧。

要想设置网络接口为混杂模式并执行这些命令来捕获所有的网络封包,需要具有超级用户的权限。

你可以使用这些工具来探究网络相关问题。你可以发现TCP/IP重发、窗口大小的缩放、名字解析的问题、网络配置错误等。

注意这些工具只能监控网络适配器所接收到的帧,并不能监控到整个网络的通讯情况。

参数介绍:
-A 以ASCII格式打印出所有分组,并将链路层的头最小化。
-c 在收到指定的数量的分组后,tcpdump就会停止。
-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size
中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size
的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。
-d 将匹配信息包的代码以人们能够理解的汇编格式给出。
-dd 将匹配信息包的代码以c语言程序段的格式给出。
-ddd 将匹配信息包的代码以十进制的形式给出。
-D 打印出系统中所有可以用tcpdump截包的网络接口。
-e 在输出行打印出数据链路层的头部信息。
-E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。
-f 将外部的Internet地址以数字的形式打印出来。
-F 从指定的文件中读取表达式,忽略命令行中给出的表达式。
-i 指定监听的网络接口。
-l 使标准输出变为缓冲行形式。
-L 列出网络接口的已知数据链路。
-m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。
-M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。
-n 不把网络地址转换成名字。
-N 不输出主机名中的域名部分。例如,link.linux265.com 只输出link。
-t 在输出的每一行不打印时间戳。
-O 不运行分组分组匹配(packet-matching)代码优化程序。
-P 不将网络接口设置成混杂模式。
-q 快速输出。只输出较少的协议信息。
-r 从指定的文件中读取包(这些包一般通过-w选项产生)。
-S 将tcp的序列号以绝对值形式输出,而不是相对值。
-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。
-t 不在每一行中输出时间戳。
-tt 在每一行中输出非格式化的时间戳。
-ttt 输出本行和前面一行之间的时间差。
-tttt 在每一行中输出由date处理的默认格式的时间戳。
-u 输出未解码的NFS句柄。
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
-vv 输出详细的报文信息。
-w 直接将分组写入文件中,而不是不分析并打印出来。
-x 以16进制数形式显示每一个报文 (去掉链路层报头) . 可以显示较小的完整报文, 否则只显示snaplen个字节.
-xx 以16进制数形式显示每一个报文(包含链路层包头)。
-X 以16进制和ASCII码形式显示每个报文(去掉链路层报头)。
-XX 以16进制和ASCII吗形式显示每个报文(包含链路层报头)。
-y 设置tcpdump 捕获数据链路层协议类型
-Z 使tcpdump 放弃自己的超级权限(如果以root用户启动tcpdump, tcpdump将会有超级用户权限), 并把当前tcpdump的用户ID设置为user, 组ID设置为user首要所属组的ID

举例:

01、抓取所有网络包,并在terminal中显示抓取的结果,将包以十六进制的形式显示。
tcpdump

02、抓取所有的网络包,并存到 result.cap 文件中。
tcpdump-wresult.cap

03、抓取所有的经过eth0网卡的网络包,并存到 result.cap 文件中。
tcpdump-ieth0-wresult.cap

04、抓取源地址是192.168.1.100的包,并将结果保存到 result.cap 文件中。
tcpdumpsrchost192.168.1.100-wresult.cap

05、抓取地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。
tcpdumphost192.168.1.100-wresult.cap

06、抓取目的地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。
tcpdumpdesthost192.168.1.100-wresult.cap

07、抓取主机地址为192.168.1.100的数据包
tcpdump-ieth0-vnnhost192.168.1.100

08、抓取包含192.168.1.0/24网段的数据包
tcpdump-ieth0-vnnnet192.168.1.0/24

09、抓取网卡eth0上所有包含端口22的数据包
tcpdump-ieth0-vnnport22

10、抓取指定协议格式的数据包,协议格式可以是「udp,icmp,arp,ip」中的任何一种,例如以下命令:
tcpdumpudp-ieth0-vnn

11、抓取经过eth0网卡的源ip是192.168.1.100数据包,src参数表示源。
tcpdump-ieth0-vnnsrchost192.168.1.100

12、抓取经过eth0网卡目的ip是192.168.1.100数据包,dst参数表示目的。
tcpdump-ieth0-vnndsthost192.168.1.100

13、抓取源端口是22的数据包
tcpdump-ieth0-vnnsrcport22

14、抓取源ip是192.168.1.100且目的ip端口是22的数据包
tcpdump-ieth0-vnnsrchost192.168.1.100anddstport22

15、抓取源ip是192.168.1.100或者包含端口是22的数据包
tcpdump-ieth0-vnnsrchost192.168.1.100orport22

16、抓取源ip是192.168.1.100且端口不是22的数据包
tcpdump-ieth0-vnnsrchost192.168.1.100andnotport22

17、抓取源ip是192.168.1.100且目的端口是22,或源ip是192.168.1.102且目的端口是80的数据包。
tcpdump-ieth0-vnn(srchost192.168.1.100anddstport22)or(srchost192.168.1.102anddstport80)

18、把抓取的数据包记录存到/tmp/result文件中,当抓取100个数据包后就退出程序。
tcpdump–ieth0-vnn-w/tmp/result-c100

19、从/tmp/result记录中读取tcp协议的数据包
tcpdump-ieth0tcp-vnn-r/tmp/result

20、想要截获所有192.168.1.100的主机收到的和发出的所有的数据包:
tcpdumphost192.168.1.100

21、如果想要获取主机192.168.1.100除了和主机192.168.1.101之外所有主机通信的ip包,使用命令:
tcpdumpiphost192.168.1.100and!192.168.1.101

22、如果想要获取主机192.168.1.100接收或发出的 telnet 包,使用如下命令:
tcpdumptcpport23host192.168.1.100

#查看http请求的header
tcpdump-s1024-l-A-nhost192.168.9.56
tcpdump-s1024-l-Asrc192.168.9.56ordst192.168.9.56
sudotcpdump-A-s1492dstport80

#本地网络中IP地址为192.168.0.5的主机现在与外界通信的情况
sudotcpdump-ieth0srchost192.168.0.5

#查看网卡eth0的http请求的tcp包
tcpdump-ieth0porthttp
tcpdump-ieth0porthttporportsmtporportimaporportpop3-l-A|egrep-i'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass|user'


#查看tcp,upd,icmp非ssh的包
tcpdump-n-vtcporudporicmpandnotport22


#查看http请求的request包
sudotcpdump-ieth0port80-w-


#过滤http响应的gethost头信息
sudotcpdump-ien1-n-s0-w-|grep-a-o-E"GET/.*|Host:.*"


#DNS查询请求响应包
sudotcpdump-ien0'udpport53'

#nmap-sP指定使用Pingecho进行扫描/24查看目的网络有多少主机处于运行状态
nmap-sP192.168.0.1
nmap-sP192.168.0.0/24
nmap-Owww.baidu.com

#Netstat主要用于Linux/Unix主机察看自身的网络状况,如开启的端口、在为哪些用户服务以及服务的状态
netstat-a
netstat-nlp

#netcat扫描机器开放的端口
nc-z-v-n172.31.100.721-25

#netcat 命令会连接开放端口21并且打印运行在这个端口上服务的banner信息。
nc-v172.31.100.721

#输出网络的路由表
route

#显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。
uptime

#监控eth1的网卡的流量
iftop-ieth1
#以位元组(bytes即字节)为单位显示流量(预设是位元bits):
iftop-B
#直接显示IP,不进行DNS反解:
iftop-n
#直接显示连接埠编号,不显示服务名称:
iftop-N
#显示某个网段进出封包流量
iftop-F192.168.1.0/24or192.168.1.0/255.255.255.0


#网络流量实时监控工具之nload,查看网卡eth0的流量
nload-neth0

#查看各个网卡的流量
nload-h

#IPTraf是一个网络监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的流量,还可以设置过滤器
iptraf


#查看网络接口当前配置与接口命名:
ifconfig
#打开(up)或关闭(down)适配器
ifconfig<网络名>
#为适配器分配IP地址:
ifconfig<网络名>
#为适配器分配第二个IP地址:
ifconfig<网络名:实例数>

#显示某个网络适配器的驱动信息,适用于查询软件兼容性的情况:
ethtool-ieth0
#显示网络数据:
ethtool-S
#设置适配器连接速度(Mbps)
ethtoolspeed<10|100|1000>


#iwconfig 查基本的Wi-Fi网络设置,如SSID、channel和加密等细节。此外还可以修改一些高级设置,包括接收敏感度,RTS/CTS,碎片,以及重试数
#显示当前无线设置,包括接口名称:
iwconfig
#设置ESSID(扩展服务设置识别器)或网络名:
iwconfig<接口名>essid<网络名>


#wget
wget-S--spiderhttp://osswin.sourceforge.net/2>&1|grepMod

#查看mac地址
cat/sys/class/net/*/address

#查看eth0的ip
ifconfigeth0|awk'/inetaddr/{split($2,A,":");printA[2]}'

#curl查看页面对应的domailname
curl-shttp://en.m.wikipedia.org/wiki/List_of_Internet_top-level_domains|sed-n'/<trvalign="top">/{s/<[^>]*>//g;p}'

#talnet
telnetlocalhost6666


#查看所有的网络接口
awk'{print$1}'/proc/net/dev|grep:|sed"s/:.*//g"


#查看DNSserver版本好
nslookup-q=txt-class=CHAOSversion.bindNS.PHX5.NEARLYFREESPEECH.NET

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 适配器
    +关注

    关注

    9

    文章

    2138

    浏览量

    71470
  • Linux
    +关注

    关注

    88

    文章

    11817

    浏览量

    219555
  • 网络通讯
    +关注

    关注

    0

    文章

    78

    浏览量

    12842

原文标题:掌握这些linux网络排查命令,故障排查不求人!

文章出处:【微信号:浩道linux,微信公众号:浩道linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux系统中这三个命令的完整功能和正确查看方法

    Linux 系统的日常中,监控进程资源使用情况是最频繁的工作之一。当服务器 CPU 突然飙高、内存告警、或者业务响应变慢时,工程
    的头像 发表于 04-21 11:45 175次阅读

    Linux新手最常踩的10个命令坑介绍

    从事工作十余年,带过不少新人,发现有些命令错误几乎是每个Linux使用者都曾经遇到过的。这些错误轻则导致操作失败、浪费时间,重则引发数据丢失、服务中断、生产事故。本篇文章结合202
    的头像 发表于 04-09 10:11 206次阅读

    一文搞懂Linux权限体系

    Linux权限体系是工作的基础中的基础。无论你管理的是单机还是集群,权限问题导致的故障占总故障量的相当比例。本文从一线视角出发,系统
    的头像 发表于 04-09 10:04 182次阅读

    工程师必须掌握的10个系统命令

    系统命令工程师与服务器交互的基础工具。虽然现代工作有大量的自动化工具和平台,但掌握核心系统命令
    的头像 发表于 03-23 10:28 224次阅读

    AIOps 智能化:让 IT 从 “被动救火” 到 “主动防御”

    前言在数字化时代,企业的IT系统就像城市的交通网络,支撑着业务的每一次运转。但随着服务器、云集群、边缘设备的数量激增,传统靠人工盯着监控、排查日志的模式,早已跟不上系统的复杂程度——告警刷屏
    的头像 发表于 02-12 14:09 1902次阅读
    AIOps 智能化<b class='flag-5'>运</b><b class='flag-5'>维</b>:让 IT <b class='flag-5'>运</b><b class='flag-5'>维</b>从 “被动救火” 到 “主动防御”

    光伏电站管理系统这种管理模式的应用

    光伏电站管理系统针对不同光伏电站的模式、技术架构和功能模块有着不同的类别,其中各功能模块通过数据交互与流程衔接实现协同运作,来实现对光伏电站智能、高效的
    的头像 发表于 11-18 15:40 514次阅读
    光伏电站<b class='flag-5'>运</b><b class='flag-5'>维</b>管理系统这种<b class='flag-5'>运</b><b class='flag-5'>维</b>管理模式的应用

    远程命令执行:IT 效率翻倍新方式

    在分布式工作环境成为常态的今天,如何高效管理遍布多地的远程设备已成为IT团队面临的关键挑战。远程命令功能正是为解决这一问题而生,不仅能大幅提升响应速度,更能为自动化管理与集中控制提供全新可能
    的头像 发表于 09-04 17:15 1283次阅读
    远程<b class='flag-5'>命令</b>执行:IT <b class='flag-5'>运</b><b class='flag-5'>维</b>效率翻倍新方式

    蓄电池常见误区及解决方法

    和其他工业与电气设备一样,蓄电池也需要定期的维护。但不少工程师对于蓄电池维护项目和方法等还存在一些误解。今天小福为大家深度剖析蓄电池常见4大维护误区,助你避开雷区,精准预判电池寿命!
    的头像 发表于 09-04 13:58 1266次阅读
    蓄电池<b class='flag-5'>运</b><b class='flag-5'>维</b>的<b class='flag-5'>常见</b>误区及解决方法

    Linux基础命令which详解

    Linux系统中,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是一个非常有用的工具,可以帮助定位命令所在的位置,确认
    的头像 发表于 07-29 17:58 1058次阅读

    三大核心网络设备的要点

    作为工程师,熟练掌握网络设备的管理和维护是构建稳定IT基础架构的关键。本文将深入探讨交换机、路由器和防火墙这三大核心网络设备的
    的头像 发表于 07-22 16:35 1253次阅读

    一文掌握Linux命令

    作为一名工程师,熟练掌握Linux命令是基本功中的基本功。无论是日常工作中的系统维护,还是面试时的技术考核,Linux
    的头像 发表于 07-22 15:23 729次阅读

    Linux系统中网络配置详解

    网络配置是Linux系统中的核心技能之一。正确理解和配置子网掩码、网关等网络参数,直接影响系统的网络
    的头像 发表于 07-17 11:01 1378次阅读

    Linux网络管理的关键技术和最佳实践

    在大型互联网企业中,Linux网络管理是工程师的核心技能之一。面对海量服务器、复杂网络拓扑、高并发流量,
    的头像 发表于 07-09 09:53 1129次阅读

    广东移动联合华为推出SPN网络故障智能体方案

    近日,广东移动与华为联合推出基于华为网络智能体NetMaster的SPN网络故障智能体方案,该方案在SPN(Slicing Packet Network,切片分组网)
    的头像 发表于 05-16 20:13 1705次阅读

    Linux常用命令大全

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、
    的头像 发表于 05-03 18:08 2042次阅读