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

审核编辑 :李倩


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

    关注

    8

    文章

    1928

    浏览量

    67881
  • Linux
    +关注

    关注

    87

    文章

    11217

    浏览量

    208827
  • 网络通讯
    +关注

    关注

    0

    文章

    74

    浏览量

    11245

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

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

收藏 人收藏

    评论

    相关推荐

    光伏电站管理系统与传统模式对比分析

           光伏电站管理系统与传统模式对比分析        随着全球对可再生能源的关注度不断提升,光伏电站作为绿色能源的重要组成部分,其
    的头像 发表于 11-08 16:14 166次阅读
    光伏电站<b class='flag-5'>运</b><b class='flag-5'>维</b>管理系统与传统<b class='flag-5'>运</b><b class='flag-5'>维</b>模式对比分析

    Linux实用命令大全

    Linux实用命令大全
    的头像 发表于 10-23 13:50 178次阅读
    <b class='flag-5'>Linux</b>实用<b class='flag-5'>命令</b>大全

    Linux lsof命令的基本用法

    linux 系统中,一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 lsof 命令不仅可以查看进程打开的文件、目录,还可以查看进程监听的端口等 socket 相关的信息。本文将介绍 lsof
    的头像 发表于 10-23 11:52 166次阅读
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法

    常见的shell命令网络相关命令

    以下测试的网络环境为:虚拟机NAT模式,ubuntu设置为自动获取ip。1、网络基本知识具备基本的网络知识对于linux的学习非常重要,只有了解了这些基础知识,才能更好的学习
    发表于 08-20 09:50

    华为设备中常用的RIP命令及其应用

    RIP(Routing Information Protocol,路由信息协议)是一种应用广泛的距离矢量路由协议,尤其适用于中小型网络。本文将详细介绍在华为设备中常用的RIP命令及其应用,以帮助
    的头像 发表于 08-12 18:10 595次阅读

    思科网络设备常用show命令

    在思科网络设备的日常中,有一些命令被频繁使用,它们可以帮助网络管理员快速获取重要信息并保存配置更改。在这篇文章中,我们将详细介绍五个出场
    的头像 发表于 08-07 14:38 1344次阅读

    管理平台:从基础到智能的飞跃

    进行实时监控,确保系统的稳定运行。无论是服务器、网络设备、数据库还是中间件,平台都能提供详尽的监控数据。 故障定位与处理 :借助强大的数据分析能力,平台能够快速定位故障根源,并为人员提供精准的故障排查与解决方案。
    的头像 发表于 04-16 16:26 386次阅读

    智能化维新标杆:讯管理平台深度解读

    在信息化、数字化快速发展的今天,企业对于管理的需求日益增强。传统的方式已经无法满足复杂多变的业务需求,智能化
    的头像 发表于 04-16 16:24 458次阅读

    Linux常见的十几款CPU监控工具

    今天浩道跟大家分享工作中,Linux常见的十几款CPU监控工具,你可能只会用到其中某些,但是个人觉得作为一个资深
    的头像 发表于 01-22 09:19 2403次阅读
    <b class='flag-5'>Linux</b>下<b class='flag-5'>常见</b>的十几款CPU监控工具

    网络设备自动化工具—ansible入门笔记介绍

    Ansible是一款自动化工具,基于Python开发,集合了众多运工具 (Puppet、CFengine、Chef、SaltStack)的优点,实现了批量系统配置、批量程序部署、批量运行
    的头像 发表于 01-15 13:46 1692次阅读
    <b class='flag-5'>网络</b>设备自动化<b class='flag-5'>运</b><b class='flag-5'>维</b>工具—ansible入门笔记介绍

    Linux基本命令总结

    都说Linux命令多,实际工作中我们又有多少命令会接触用到呢?本文跟大家分享Linux工作
    的头像 发表于 01-11 10:32 938次阅读

    常用Linux命令总结

    今天浩道跟大家分享一些平时运工作中常用到的Linux命令,让你关键时候也可以在领导面前露一手!大家不要觉得命令使用简单,实际上浩道接触的现
    的头像 发表于 12-26 09:49 399次阅读

    如何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令
    的头像 发表于 12-04 14:45 1876次阅读
    如何在<b class='flag-5'>Linux</b>中使用htop<b class='flag-5'>命令</b>

    linux系统修改ip命令

    Linux系统修改IP命令是掌握Linux网络管理的基础之一。在Linux操作系统中,我们可以使用命令
    的头像 发表于 11-27 15:17 2024次阅读

    linux更改ip步骤命令

    inux是一种广泛应用于服务器和嵌入式设备的操作系统,通过更改IP地址,可以对网络进行重新配置和优化,以满足不同的需求。在Linux中,可以使用不同的命令和配置文件进行IP地址的更改。本文将详细介绍
    的头像 发表于 11-27 14:38 1683次阅读