常用网络工具分析(ping,tcpdump等)

写在前面

本文看下常用网络工具。

1:ping

1.1:用途

用于检验网络的连通性。

1.2:实战

在Linux环境中执行:ping www.sina.com.cn

[root@localhost ~]# ping www.sina.com.cn
PING spool.grid.sinaedge.com (111.62.129.51) 56(84) bytes of data.
64 bytes from 111.62.129.51 (111.62.129.51): icmp_seq=1 ttl=49 time=18.1 ms
64 bytes from 111.62.129.51 (111.62.129.51): icmp_seq=2 ttl=49 time=25.9 ms
...
^C
--- spool.grid.sinaedge.com ping statistics ---
12 packets transmitted, 12 received, 0% packet loss, time 11018ms
rtt min/avg/max/mdev = 17.397/19.402/25.901/2.092 ms

1.3:原理以及抓包验证

1.3.1:原理

基于ICMP协议,ICMP是属于网络层的协议,基于IP协议,即在IP协议的基础上增加了相关信息来满足需求。格式如下:
在这里插入图片描述

1.3.2:抓包验证

  • 使用tcpdump抓包
    先抓着包:
[root@localhost ~]# rm -f /tmp/ping_sina.pcap && tcpdump -c 5 -i any icmp and host www.sina.com.cn -w /tmp/ping_sina.pcap 
tcpdump: WARNING: any: That device doesn't support promiscuous mode
(Promiscuous mode not supported on the "any" device)
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes参数解释:
-c 5: 抓五个包
-i any icmp:在任意网卡抓icmp协议的包
host www.sina.com.cn:host是www.sina.com.cn
-w /tmp/ping_sina.pcap:抓到的包写到文件/tmp/ping_sina.pcap中
总的就是:对主机www.sina.com.cn抓5条任意网卡的ICMP协议的包,并将结果写到文件/tmp/ping_sina.pcap中。

成功后生成文件:

[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# ll | grep ping
-rw-r--r--. 1 root root 624 Feb 17 22:16 ping_sina.pcap

导出到win中并使用wires hark打开:
在这里插入图片描述
and
在这里插入图片描述

2:ifconfig

2.1:用途

该命令用来列举系统中的网络设备,即网卡列表。

2.2:分析

一般执行如下命令:

vagrant@ubuntu-xenial-01:~$ ifconfig
cni0      Link encap:Ethernet  HWaddr 0a:58:0a:f4:00:01inet addr:10.244.0.1  Bcast:0.0.0.0  Mask:255.255.255.0inet6 addr: fe80::401:b4ff:fe51:bcf9/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1RX packets:2133 errors:0 dropped:0 overruns:0 frame:0TX packets:2216 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:139381 (139.3 KB)  TX bytes:853302 (853.3 KB)
...

解释:

cni0      Link encap:Ethernet  HWaddr 0a:58:0a:f4:00:01网卡名称 网络类型为以太网 mac地址
inet addr:10.244.0.1  Bcast:0.0.0.0  Mask:255.255.255.0ipv4地址,广播地址,子网掩码,其中广播地址可以通过udp的方式给网络内的所有主机发消息
inet6 addr: fe80::401:b4ff:fe51:bcf9/64 Scope:Linkipv6地址,目前还在普及中,解决ipv4地址不够用问题
UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1mtu,IP数据包最大大小,metric,优先级,多个网卡到同一ip都可达时的优先级,值越小,优先级越高

3:通过netstat和lsof检查网络问题

3.1:netstat

在线上环境中有时候会遇到,明明服务是正常的,但是tcp连接却无法建立成功,到底是因为啥呢?是time_wait过多导致无可用的端口了,还是怎样?此时我们就可以使用netstat命令来看下,netstat -alepn,如下:

[root@localhost tmp]# netstat -alepn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          20874      1022/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          21847      1224/master         
tcp        0      0 192.168.10.168:22       192.168.10.94:57233     ESTABLISHED 0          27499      2209/sshd: root@not 
tcp        0      0 192.168.10.168:22       192.168.10.94:60364     ESTABLISHED 0          22611      1546/sshd: root@pts 
tcp        0     36 192.168.10.168:22       192.168.10.94:51775     ESTABLISHED 0          27303      2138/sshd: root@pts 
tcp6       0      0 :::22                   :::*                    LISTEN      0          20883      1022/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          21848      1224/master         
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          20090      829/dhclient        
udp        0      0 127.0.0.1:323           0.0.0.0:*                           0          18592      678/chronyd         
udp6       0      0 ::1:323                 :::*                                0          18593      678/chronyd         
raw6       0      0 :::58                   :::*                    7           0          19376      702/NetworkManager  
...

可以先看State列观察tcp连接的状态是否异常,比如有大量的time_wait就可能是有问题的了。
每一列是什么意思呢,比如tcp 0 0 192.168.10.168:22 192.168.10.94:57233 ESTABLISHED 0 27499 2209/sshd: root@not,意思是:

Proto:使用的协议是tcp
Local Address:监听的是网卡192.168.10.168(其实是我vm的Linux环境)的22端口号
Foreign Address:192.168.10.94:57233,远端的服务是192.168.10.94(其实是我本地的win),端口号是57233(随机分配的端口号)
EST
ABLISHED:当前tcp连接的状态是ESTABLISHED,即正常连接状态
27499      2209/sshd:进程信息,这里是sshd,即ssh连接使用的

3.2:lsof

netstat用于列出所有的端口上的连接信息,而lsof则是用于查看某个端口号,或者是本位套接字是被哪个进程打开的,这在我们遇到类似于端口号占用的问题,或者是确定服务是否启动成功时非常有用,比如我们现在遇到了端口号被占用的问题,就可以执行如下命令:

[root@localhost tmp]# lsof -i :22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1022 root    3u  IPv4  20874      0t0  TCP *:ssh (LISTEN)
sshd    1022 root    4u  IPv6  20883      0t0  TCP *:ssh (LISTEN)
sshd    1546 root    3u  IPv4  22611      0t0  TCP localhost.localdomain:ssh->192.168.10.94:60364 (ESTABLISHED)
sshd    2138 root    3u  IPv4  27303      0t0  TCP localhost.localdomain:ssh->192.168.10.94:51775 (ESTABLISHED)
sshd    2209 root    3u  IPv4  27499      0t0  TCP localhost.localdomain:ssh->192.168.10.94:57233 (ESTABLISHED)

当然也可以查看本地套接字,比如查看docker的/var/run/docker.sock:

[root@localhost tmp]# lsof /var/run/docker.sock
COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF  NODE NAME
dockerd-c 2851 root    5u  unix 0xffff904e322fe1c0      0t0 32258 /var/run/docker.sock

4:tcpdump

just go。

写在后面

参考文章列表

抓包之tcpdump安装和使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20986.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】表操作

表操作 一、创建表 1、语句2、语句介绍3、注意事项4、介绍5、示例 二、查看表结构 1、语句2、介绍3、返回的信息4、示例 三、添加字段 1、语句2、语句介绍3、示例 四、修改 1、语句2、语句介绍3、示例 五、删除 1、语句2、示例 六、修改表名 1、语句2、语句介绍3、示例 七、删…

【UCB CS 61B SP24】Lecture 3 - Lists 1: References, Recursion, and Lists学习笔记

本文开坑伯克利 CS 61B(算法与数据结构)2024年春季课程学习笔记,Lecture 1 & Lecture 2 的内容为课程介绍与 Java 基础,因此直接跳过。本文内容为介绍基本数据类型与引用数据类型的区别,以及手动实现整数列表。 1…

【C语言】fwrite函数用法介绍

目录 一、函数原型 二、参数解析 三、返回值 四、核心特性 五、案例代码 案例1:写入字符串到文件 案例2:写入整型数组到二进制文件 案例3:写入结构体数据 六、注意事项 一、函数原型 作用:将内存中的数据块以二进制形式…

WIN系统服务器如何修改远程端口?

在Windows服务器上修改远程桌面协议(RDP)的默认端口(3389)可以增强服务器的安全性,减少被恶意扫描和攻击的风险。以下是修改远程端口的详细步骤: --- ### **步骤 1:通过注册表修改远程端口** …

使用Termux将安卓手机变成随身AI服务器(page assist连接)

通过以下方法在安卓手机上运行 Ollama 及大模型,无需 Root 权限,具体方案如下: 通过 Termux 模拟 Linux 环境运行 核心工具: 安装 (安卓终端模拟器)()]。借助 proot-distro 工具安装 Linux 发行版&#xf…

【Prometheus】prometheus结合pushgateway实现脚本运行状态监控

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》

目录 智能运维革命:DeepSeek带来的范式转变DeepSeek核心运维能力全景解析分级实战场景与解决方案 3.1 初级工程师:自动化运维入门3.2 中级工程师:复杂系统诊断与优化3.3 高级工程师:架构级智能运维典型项目案例深度剖析 4.1 金融系统全链路监控体系构建4.2 电商大促资源弹性…

elementui中aria-hidden报错

浏览器检查的原因,不影响功能,但会在控制台报红 解决办法: 在对应元素设置display:none .el-radio__original {display: none !important;}

重构谷粒商城07:Git一小时快速起飞指南

重构谷粒商城07:Git一小时快速起飞指南 前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率&#xff…

关于人工智能的学习方向应该怎么选择

目前AI-人工智能主流方向和应用场景的判断有哪些呢?学习方向与建议(根据自身情况而定)总结 人工智能-AI从2023年开始逐渐的在整个行业传播被大家所推崇,再根据这两年人工智能不断迭代更新,特别是DeepSeek的横空出世让国…

Huatuo热更新--如何使用

在安装完huatuo热更新插件后就要开始学习如何使用了。 1.创建主框渐Main 新建文件夹Main(可自定义),然后按下图创建文件,注意名称与文件夹名称保持一致 然后新建场景(Init场景),添加3个空物体…

DeepSeek 和 ChatGPT 在特定任务中的表现:逻辑推理与创意生成

🎁个人主页:我们的五年 🔍系列专栏:Linux网络编程 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 ​ Linux网络编程笔记: https://blog.cs…

车载音频配置(二)

目录 OEM 自定义的车载音频上下文 动态音频区配置 向前兼容性 Android 14 车载音频配置 在 Android 14 中,AAOS 引入了 OEM 插件服务,使你可以更主动地管理由车载音频服务监督的音频行为。 随着新的插件服务的引入,车载音频配置文件中添加了以下更改: • OEM 自定义的车…

【SQL】SQL多表查询

多表查询案例联系点击此处 🎄概念 一般我们说的多表查询都涉及外键和父子表之间的关系。比如一对多:一般前面指的是父表后面指的是子表。 ⭐分类 一对多(多对一) 多对多 一对一 ⭐一对多 📢案例:部门与员工的关系 📢关系&…

存储区域网络(SAN)管理

存储区域网络(Storage Area Network,SAN)采用网状通道(Fibre Channel ,简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN提供了一种与现有LAN连…

导出指定文件夹下的文件结构 工具模块-Python

python模块代码 import os import json import xml.etree.ElementTree as ET from typing import List, Optional, Dict, Union from pathlib import Path class DirectoryTreeExporter:def __init__(self,root_path: str,output_file: str,fmt: str txt,show_root: boo…

PyCharm Terminal 自动切换至虚拟环境

PyCharm 虚拟环境配置完毕后,打开终端,没有跟随虚拟环境切换,如图所示: 此时,需要手动将终端切换为 Command Prompt 模式 于是,自动切换至虚拟环境 每次手动切换,比较麻烦,可以单…

Vue 实现通过URL浏览器本地下载 PDF 和 图片

1、代码实现如下: 根据自己场景判断 PDF 和 图片,下载功能可按下面代码逻辑执行 const downloadFile async (item: any) > {try {let blobUrl: any;// PDF本地下载if (item.format pdf) {const response await fetch(item.url); // URL传递进入i…

【前端】使用WebStorm创建第一个项目

文章目录 前言一、步骤1、启动2、创建项目3、配置Node.js4、运行项目 二、Node.js介绍 前言 根据前面文章中记录的步骤,已经安装好了WebStorm开发软件,接下来我们就用这个IDE开发软件创建第一个项目。 一、步骤 1、启动 启动软件。 2、创建项目 新建…

遥感与GIS在滑坡、泥石流风险普查中的实践技术应用

原文>>> 遥感与GIS在滑坡、泥石流风险普查中的实践技术应用 我国是地质灾害多发国家,地质灾害的发生无论是对于地质环境还是人类生命财产的安全都会带来较大的威胁,因此需要开展地质灾害风险普查。利用遥感(RS)技术进行地…