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来做测试。

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

相关推荐
用户0328472220703 小时前
如何搭建本地yum源(上)
运维
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务