当前位置: 首页 > news >正文

如何查看在同一网段内的IP

目录

几种方法:

1、bash脚本

2、使用nmap工具

3、arp-scan工具

4、fping工具

5、ip neigh


自己用过的几种方法:

1、写一个bash脚本 通过ping命令,保留ping的通的IP

2、nmap工具

3、arp-scan工具

4、fping

5、ip neigh

1、bash脚本

写一个脚本,通过循环ping命令,将ping的通的保存下来。

ping的-c命令,等待超时,否则会永久等待。

例子:./ping.sh 192.168.4.*  

#!/bin/bash# 检查是否提供了网段参数
if [ -z "$1" ]; thenecho "用法: $0 <网段前缀,例如 192.168.4.*>"exit 1
fi# 获取网段前缀
network_prefix=$(echo "$1" | sed 's/\.\*//')# 定义输出文件
output_file="reachable_ips.txt"# 清空输出文件
> "$output_file"# 遍历网段的所有 IP
for i in {1..254}; doip="$network_prefix.$i"# Ping 每个 IP 地址,超时时间设为 1 秒,只发送一次请求if ping -c 1 -W 1 "$ip" > /dev/null 2>&1; thenecho "$ip 可达"# 记录可达的 IP 地址echo "$ip" >> "$output_file"fi
doneecho "Ping 完成。所有可达 IP 地址已记录在 $output_file 中。"
2、使用nmap工具

介绍:nmap可以扫描网络工具,可以快速发现网段内活动设备。

nmap工具需要下载安装  sudo apt install nmap

命令:

# 扫描网段内的所有活动 IP 地址
nmap -sn 192.168.4.0/24
  • -sn 参数表示只进行主机发现(不进行端口扫描)。
  • 192.168.4.0/24 表示扫描整个网段。
3、arp-scan工具

介绍:arp-sacn是基于arp协议局域网扫描工具,可以发现所有设备的ip和mac地址

命令:

# 扫描网段内所有设备
sudo arp-scan --interface=eth0 192.168.4.0/24
  • 需要以 sudo 权限运行,并指定正确的网络接口 (eth0 是示例,需根据实际情况修改)。
  • 扫描结果包含 IP 和 MAC 地址。
4、fping工具

介绍:fing是并行的ping工具,速度快,并发。

命令:

# 扫描指定网段内的所有 IP
fping -a -g 192.168.4.0/24 2>/dev/null
  • -a 选项只显示存活的主机。
  • -g 选项用于生成指定网段范围的 IP 地址。
5、ip neigh

介绍:同样可以查看arp缓存中的局域网设备信息,通过vpn连接的网络好像不行

代码:

# 列出 ARP 表中的设备
ip neigh

说明:只列出与本机通信的网络,可以arp -a一下再用。不会主动扫描网段

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 向量数据库Milvus源码开发贡献实践
  • 电子签合同区块链存证合约小程序开源版开发
  • spring security 相关过滤器
  • 深度学习基础--梯度下降与初始化
  • Django Compressor压缩静态文件(js/css)
  • 一文打通前端环境搭建
  • 零基础Opencv学习(一)
  • 自主导航的视觉导航机器人:解析ROS、OpenCV、Qt及路径规划算法的创新应用与实践(代码示例)
  • SpringBoot 2 最常用的配置汇总
  • SpringBoot + Vue实现websocket
  • Javascript归纳与总结——this指向及其改变、new关键字与原型链、异步、闭包和函数防抖与节流
  • Python 全栈系列265 使用ORM、Kafka、Apscheduler实现任务的并发处理
  • 基于django的失物招领系统的设计与实现/ 基于Python的失物招领系统的设计与实现/失物招领管理系统
  • Linux随记(十一)
  • Android13系统源码内置App并通过AIDL调用获取内置存储卡的真实大小
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [Vue CLI 3] 配置解析之 css.extract
  • “大数据应用场景”之隔壁老王(连载四)
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Angular数据绑定机制
  • C++类的相互关联
  • C学习-枚举(九)
  • flutter的key在widget list的作用以及必要性
  • GraphQL学习过程应该是这样的
  • HomeBrew常规使用教程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Netty源码解析1-Buffer
  • Node项目之评分系统(二)- 数据库设计
  • Service Worker
  • Spark RDD学习: aggregate函数
  • Spring Cloud Feign的两种使用姿势
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 区块链共识机制优缺点对比都是什么
  • 实现简单的正则表达式引擎
  • 我与Jetbrains的这些年
  • 移动端唤起键盘时取消position:fixed定位
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • $NOIp2018$劝退记
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (6)设计一个TimeMap
  • (7)STL算法之交换赋值
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (九)c52学习之旅-定时器
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十八)Flink CEP 详解
  • (译) 函数式 JS #1:简介
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)