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

    文章

    1824

    浏览量

    66956
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206744
  • 网络通讯
    +关注

    关注

    0

    文章

    66

    浏览量

    11176

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

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

收藏 人收藏

    评论

    相关推荐

    Linux基本命令总结

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

    常用Linux命令总结

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

    linux系统修改ip命令

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

    linux的正常关机命令可以是什么

    正常关机是指在Linux系统下安全地关闭计算机或服务器,以防止数据丢失或损坏。通常,在执行关机命令之前,用户需要先保存所有的工作并确保系统处于一个稳定的状态。以下是Linux系统中常
    的头像 发表于 11-17 11:18 516次阅读

    linux命令行运行步骤

    运行Linux命令行涉及以下步骤: 打开终端 在Linux系统中,打开命令行界面的方式有多种,最常见的是打开终端应用程序。可以在应用程序菜单
    的头像 发表于 11-17 10:18 349次阅读

    linux查看物理接口的命令

    Linux操作系统提供了多种命令和工具来查看物理接口。在这篇文章中,我们将详细介绍一些最常用和常见命令,以及它们的用法和输出。 ifconfig
    的头像 发表于 11-16 16:48 504次阅读

    linux命令和shell编程有什么联系

    命令,并提供了许多功能和特性,如变量、控制结构、函数等,这些功能和特性使得Shell编程成为可能。 其次,Linux命令是Shell编程的重要组成部分。通过使用Linux
    的头像 发表于 11-08 10:53 415次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 1399次阅读

    linux系统中常见注册函数的使用方法

    大家好,今天给大家分享一下,linux系统中常见的注册函数register_chrdev_region()、register_chrdev()、 alloc_chrdev_region()的使用方法。
    发表于 10-19 09:28 191次阅读
    <b class='flag-5'>linux</b>系统<b class='flag-5'>中常见</b>注册函数的使用方法

    常用Linux命令要记牢!

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 08-07 15:31 448次阅读

    直线导轨使用中常见的问题有哪些

    直线导轨使用中常见的问题有哪些?
    的头像 发表于 08-03 17:43 784次阅读
    直线导轨使用<b class='flag-5'>中常见</b>的问题有哪些

    Linux中常用的压缩和解压缩命令介绍

    Linux中,压缩和解压缩文件是常见的操作。有时候,我们需要将大文件压缩成较小的文件,以便于传输和存储。同时,我们也需要解压缩文件来获得原始数据。本文咱们就介绍在Linux中常用的压
    发表于 07-31 11:50 1826次阅读

    常用linux网络排查命令

    今天浩道跟大家分享linux网络运维中常见命令,掌握好这些命令,在排查故障时将会游刃有余!
    发表于 06-25 10:49 520次阅读

    如何使用ip命令Linux中进行网络管理

    Linux中,'ip'命令是管理网络方面最强大的命令之一。该命令可以允许用户在不使用任何其他
    发表于 05-31 12:25 220次阅读

    Linux中常用的6种SSH身份验证方法

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地运行网络服务。在 Linux 中,SSH 是一种常用的远程访问工具,它可以让用户在远程服务器上执行
    的头像 发表于 05-12 14:42 2519次阅读