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

Linux 下端口占用的模拟: nc/socat

前言

今天需要测一个在写的网络辅助工具, 测试时需要预提供一些端口占用, 写了个nc脚本来实现, 这里简单技术普及下.

基础

Linux中使用nc和socat模拟端口占用的方法:

使用nc(netcat)模拟端口占用:

  1. nc -l 8080 - 监听8080端口
  2. nc -l -p 8080 - 在某些系统中需要-p参数
  3. nc -k -l 8080 - 持续监听,接受多个连接
  4. nc -l 0.0.0.0 8080 - 监听所有网卡接口

使用socat模拟端口占用:

  1. socat TCP-LISTEN:8080,fork /dev/null - 监听TCP端口
  2. socat UDP-LISTEN:8080,fork /dev/null - 监听UDP端口
  3. socat TCP-LISTEN:8080,reuseaddr,fork EXEC:/bin/cat - 可重用地址

其他工具:
用Python起HTTP服务或者脚本实现应该也是可以的, 大家可以头脑风暴.

实际使用

✅示例: 使用nc批量占用端口

#!/bin/bash
# 批量占用端口范围
start_port=8080
end_port=8090echo "开始占用端口 $start_port$end_port"
for port in $(seq $start_port $end_port); donc -l $port &pid=$!echo "端口 $port 已占用,PID: $pid"
doneecho "按Enter键查看占用情况..."
read
ss -tulpn | grep -E ":($(seq -s'|' $start_port $end_port))"echo "按Enter键清理所有监听进程..."
read
jobs -p | xargs kill 2>/dev/null
echo "清理完成"

示例: 使用socat批量占用

#!/bin/bash
# socat批量占用指定端口列表
ports=(8080 8081 8082 9000 9001)echo "使用socat占用端口: ${ports[*]}"
for port in "${ports[@]}"; dosocat TCP-LISTEN:$port,reuseaddr,fork /dev/null &echo "端口 $port 已被socat占用,PID: $!"
done# 显示占用情况
echo -e "\n当前端口占用情况:"
ss -tulpn | grep -E ":($(IFS='|'; echo "${ports[*]}"))"echo -e "\n按Enter键清理所有socat进程..."
read
pkill -f "TCP-LISTEN"
echo "清理完成"

💡 注意点 & 总结

  1. 权限注意:占用1024以下端口需要root权限
  2. 工具选择
    • nc:轻量级,适合简单测试
    • socat:功能强大,适合复杂场景
    • Python:跨平台,适合脚本化测试
http://www.dtcms.com/a/519700.html

相关文章:

  • FineBI 7 版本连接mysql数据库及数据库限制
  • 百度网站优化是什么意思谷歌浏览器2021最新版
  • Spring Boot 整合 RabbitMQ :四大核心模式解析
  • 拓者设计吧网站图片如何连接到wordpress
  • 大模型系列001-----NLP基础知识
  • 怎样用数据库做网站万网域名注册官网中文域名
  • 网络管理员教程(初级)第六版--第1章计算机网络概述
  • 《黑神话:钟馗》官网技术架构分析与前端实现教程
  • 【C++】二分查找算法习题
  • SharedPreferences的使用方法
  • PRCV 2025:文本何以成为 AGI 的必经之路?
  • 一位C++低延迟交易系统开发工程师的有趣开发经历
  • 如何为自己的店铺做网站建立的英语
  • 使用 Datasmith 将 Rhino 模型导入 Unreal Engine 5(UE5)
  • 怎么注册17做网站初学者做网站的软件
  • 【数据结构】基于Prim算法的最小生成树
  • Snipaste (截图贴图工具) 精准截图 中文免费版
  • C语言内存机制深度解析:指针运算、数组与字符串实战指南
  • 强化学习 深度学习 深度强化学习 有什么区别
  • 《FastAPI零基础入门与进阶实战》第23篇:mysql/HeidiSQL安装与利用HeidiSQL数据迁移
  • 可克达拉市建设局网站番禺厂家关键词优化
  • 注册公司在哪个网站系统微信crm系统如何添加
  • 深入 YOLOv5 数据增强:从 create_dataloader 到马赛克范围限定
  • 如果战国时候魏国,向西灭掉秦国为战略纵深,然后向东争夺天下 可行吗
  • Docker MailServer自建邮件服务器
  • 【CRC校验】CRC(循环冗余校验)算法介绍
  • SpringAI 内嵌模型 ONNX
  • 哪些平台制作网站硬件开发和软件开发
  • 网站设计功能编程网站有哪些
  • Volatility2在kali安装