Linux如何指定源端口打流

背景

在网络中,经常遇到丢包问题,特别是特定的流丢包,何为特定的流,即五元组一样的报文(源目的ip,源目的端口,协议)。在排查问题时,我们经常需要来构造这样的流量去复现问题。那有什么比较好用的工具来实现这样的功能呢?

说明

其中nc工具,是一个不错的工具,它能够指定五元组进行打流。

nc -p 33988 192.168.0.28 5001 < /dev/zero

但是除了nc之外,还有没有其他的方法呢?自然是有的。

不知道你有没有在Linux服务器抓过包,抓包的时候,有没有发现,tcp/udp端口的范围在一定的范围之内,比如常见的32768-60999,为什么是这样的范围,正常端口的范围不是在 0~65535么?是什么来控制着这个端口范围呢?

在Linux系统中,是由内核参数 /proc/sys/net/ipv4/ip_local_port_range 来控制的。

sysctl -w net.ipv4.ip_local_port_range='45004 45004' 你就能将你发起的测试连接的源端口控制在 45004来做测试。

在内核协议栈设计中,还是有比较多的知识可以学习和了解。

相关推荐
Ciel_75212 小时前
OpenClaw 深度进阶:记忆系统、多智能体架构与自动化调度全解析
运维·自动化
晨晖22 小时前
Linux命令3
linux·运维·服务器
中议视控2 小时前
可编程网络中央控制系统的应用场景:会议室,多功能厅,指挥中心,展厅,报告厅,流动指挥车,多媒体教室
网络
arvin_xiaoting2 小时前
OpenClaw学习总结_I_核心架构_9:Multi-Agent详解
网络·学习·架构·系统架构·ai agent·multi-agent·openclaw
素雨迁喜2 小时前
Linux平台下git工具的使用
linux·运维·git
十年编程老舅2 小时前
Linux DMA 技术深度拆解
linux·网络·linux内核·dma·c/c++·内存访问
jianqiang.xue3 小时前
ESP32-S3 运行 Linux 全指南:从 RISC-V 模拟器移植到 8 秒快速启动
linux·stm32·单片机·mongodb·risc-v·esp32s3
bing_feilong3 小时前
Ubuntu Tips
linux·运维
~光~~3 小时前
【嵌入式linux学习】0_3位运算整理
linux·学习