网站首页 > 文章中心 > 其它

Linux的udp命令_linux开启udp端口命令

作者:小编 更新时间:2023-09-19 19:32:44 浏览量:448人看过

linux shell命令行向udp端口发送数据

先nc -uv,然后在输入数据即可

nc -uvz可以用来测试udp端口是否开启监听

比如要向本地10001端口发送数据,可以使用

echo "hello" /dev/udp/localhost/10001

方法二的好处在于,发送完数据后自动退出.当我们需要在命令行下循环向特定udp端口发送数据时,我们只能使用方法二.

例如

Linux的udp命令_linux开启udp端口命令-图1

while true

do

echo "xxxx" /dev/udp/localhost/10001

done

求教linux系统用什么命令开启UDP端口

Linux下面没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)

Linux增加TCP和UDP的本地端口分配范围

临时调整

永久调整

在/etc/sysctl.d目录下,创建配置文件,将需要调整的参数加入其中即可.配置文件名格式为number-appname.conf.appname可以直接用应用系统运行时的os用户名.

执行以下命令,使之生效.替换掉命令中的文件名.

例如:

Linux使用TPROXY进行UDP的透明代理

在进行TCP的代理时,只要在NET表上无脑进行REDIRECT就好了.例如使用ss-redir,你只要把tcp的流量redirect到ss-redir监听的端口上就OK了.但是当你使用这种方法的时候,就会不正常,因为对于UDP进行redirect之后,原始的目的地址和端口就找不到了.

这是为什么呢?

ss-redir的原理很简单:使用iptables对PREROUTING与OUTPUT的TCP/UDP流量进行REDIRECT(REDIRECT是DNAT的特例),ss—redir在捕获网络流量后,通过一些技术手段获取REDIRECT之前的目的地址(dst)与端口(port),连同网络流量一起转发至远程服务器.

针对TCP连接,的确是因为Linux Kernel连接跟踪机制的实现才使获取数据包原本的dst和port成为可能,但这种连接跟踪机制并非只存在于TCP连接中,UDP连接同样存在,conntrack -p udp便能看到UDP的连接跟踪记录.内核中有关TCP与UDP的NAT源码/net/netfilter/nf_nat_proto_tcp.c和/net/netfilter/nf_nat_proto_udp.c几乎一模一样,都是根据NAT的类型做SNAT或DNAT.

那这究竟是怎么一回事?为什么对于UDP连接就失效了呢?

回过头来看看ss-redir有关获取TCP原本的dst和port的源码,核心函数是getdestaddr:

在内核源码中搜了下有关SO_ORIGINAL_DST的东西,看到了getorigdst:

We only do TCP and SCTP at the moment.Oh,shit!只针对TCP与SCTP才能这么做,并非技术上不可行,只是人为地阻止罢了.

为了在redirect UDP后还能够获取原本的dst和port,ss-redir采用了TPROXY.Linux系统有关TPROXY的设置是以下三条命令:

这个问题在内核中时如何实现的,还待研究,但是确定是TPROXY做了某些工作.

TPROXY主要功能:

TPROXY要解决的两个重要的问题

参考:

以上就是土嘎嘎小编为大家整理的Linux的udp命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章