udplinux命令 udp linux

Linux常用命令就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)看目录信息等等
常用参数搭配:
实例:
(changeDirectory),命令语法:cd [目录名] 。说明:切换当前目录至dirName
实例:
查看当前工作目录路径
实例:
创建文件夹
实例:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录 。如果使用rm 来删除文件,通常仍可以将该文件恢复原状
rm [选项] 文件…
常用参数搭配:
实例:
删除空目录,一个目录被删除之前必须是空的 。(注意,rm -r dir 命令可以代替rmdir,但是很危险,万一它突然就不是空的咧?),另外删除某目录时必须具有对父目录的写权限 。
实例:
rmdir-pwatch/avi删掉avi目录,watch目录就空掉了,那还看什么?所以干脆把watch目录一起删掉,眼不见为不净嘛 。
mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录 。
命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录) , mv命令将文件重命名或将其移至一个新的目录中 。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名 。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中 。在跨文件系统移动文件时,mv先拷贝 , 再将原有文件删除,而链至该文件的链接也将丢失 。
命令参数:
实例:
将源文件复制至目标文件,或将多个源文件复制至目标目录 。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中 , 如果不加-i参数,则不会提示,而是直接覆盖!
命令参数:
实例:
cat主要有三大功能:
命令参数:
实例:
功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
命令参数:
常用操作命令:
实例:
less 与 more 类似 , 但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件 。
命令参数:
实例:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行 。
常用参数:
实例:
从指定点开始将文件写到标准输出 。使用tail命令的-f选项可以方便的查阅正在改变的日志文件 , tail -f filename会把filename里最尾部的内容显示在屏幕上 , 并且不断刷新 , 使你看到最新的文件内容 。
常用参数:
实例:
用于改变linux系统文件或目录的访问权限 。该命令有两种用法 。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法 。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限 。可使用ls -l test.txt查找 。
以文件log2012.log为例:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有10个位置,第一个字符指定了文件类型 。在通常意义上,一个目录也是一个文件 。如果第一个字符是横线,表示是一个非目录的文件 。如果是d,表示是一个目录 。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限 。权限字符用横线代表空许可 , r代表只读 , w代表写 , x代表可执行 。
常用参数:
权限范围:
权限代号:
实例:
tar命令是类Linux中比价常用的解压与压缩命令 。
常用参数:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令 , 压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 。下面的参数是根据需要在压缩或解压档案时可选的 。
下面的参数-f是必须的
常见解压/压缩命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符 。
常用参数:
实例:
显示磁盘空间使用情况 。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示 。默认情况下,磁盘空间将以 1KB 为单位进行显示 , 除非环境变量 POSIXLY_CORRECT 被指定 , 那样将以512字节为单位进行显示 。
常用参数:
实例:
du命令也是查看使用空间的 , 但是与df命令不同的是,du能看到的文件只是一些当前存在的,没有被删除的,他计算的大小就是当前他认为存在的所有文件大小的累加和 。du命令是对文件和目录磁盘使用的空间的查看 。
常用参数:
实例:
ln命令用于将一个文件创建链接,链接分为软链接和硬链接,命令默认使用硬链接 。当在不同目录需要该文件时,就不需要为每一个目录创建同样的文件,通过ln创建的链接(link)减少磁盘占用量 。
软链接:
硬链接:
需要注意:
常用参数:
实例:
显示或设定系统的日期与时间
命令参数:
实例:
可以用户显示公历(阳历)日历 , 如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份 。
常用参数:
实例:
强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索 。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板 。如果模板包括空格 , 则必须被引用,模板后的所有字符串被看作文件名 。搜索的结果被送到标准输出,不影响原文件内容 。
命令格式:
grep [option] pattern file|dir
常用参数:
实例:
wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出 。
命令格式:
wc [option] file..
命令参数:
实例:
ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top 。
linux上进程有5种状态:
ps工具标识进程的5种状态码:
命令参数:
实例:
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等 。
常用参数:
发送指定的信号到相应进程 。不指定型号将发送SIGTERM(15)终止指定进程 。如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号 。root用户将影响用户的进程,非root用户只能影响自己的进程 。
常用参数:
实例:
显示系统内存使用情况 , 包括物理内存、交互区内存(swap)和内核缓冲区内存 。
命令参数:
实例:
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字 , 另外它还能列出处于监听状态(即等待接入请求)的套接字 。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开 。以上功能使 netstat 成为网管和系统管理员的必备利器 。
命令参数:
实例
Linux使用TPROXY进行UDP的透明代理 在进行TCPudplinux命令的代理时,只要在NET表上无脑进行REDIRECT就好了 。例如使用ss-redir,udplinux命令你只要把tcp的流量redirect到ss-redir监听的端口上就OK了 。但是当你使用这种方法的时候,就会不正常,因为对于UDP进行redirect之后,原始的目的地址和端口就找不到了 。
这是为什么呢udplinux命令?
ss-redir的原理很简单udplinux命令:使用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 。
那这究竟是怎么一回事udplinux命令?为什么对于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的设置是以下三条命令:
大意就是在mangle表的PREROUTING中为每个UDP数据包打上0x2333/0x2333标志,之后在路由选择中将具有0x2333/0x2333标志的数据包投递到本地环回设备上的1080端口;对监听0.0.0.0地址的1080端口的socket启用IP_TRANSPARENT标志,使IPv4路由能够将非本机的数据报投递到传输层,传递给监听1080端口的ss-redir 。IP_RECVORIGDSTADDR与IPV6_RECVORIGDSTADDR则表示获取送达数据包的dst与port 。
可问题来了:要知道mangle表并不会修改数据包,那么TPROXY是如何做到在不修改数据包的前提下将非本机dst的数据包投递到换回设备上的1080端口呢?
这个问题在内核中时如何实现的,还待研究,但是确定是TPROXY做了某些工作 。
TPROXY主要功能:
TPROXY要解决的两个重要的问题
参考:
检测基于udp的服务端,在windows下,和linux各用什么命令??两个系统都是用netstat命令,选项不一样而已
linux中查看udp连接,netstat -u
windows中:netstat -p udp
Linux增加TCP和UDP的本地端口分配范围 ip_local_port_range,TCP和UDP本地端口范围,默认为[32768 , 60999],其中,最小值要求大于等于ip_unprivileged_port_start参数 。
ip_unprivileged_port_start,非特权端口开始值,默认为1024.如果应用程序需要绑定小于此值的端口号,需要root权限 。
临时调整
永久调整
在/etc/sysctl.d目录下,创建配置文件,将需要调整的参数加入其中即可 。配置文件名格式为number-appname.conf 。appname可以直接用应用系统运行时的os用户名 。
执行以下命令,使之生效 。替换掉命令中的文件名 。
例如:
linux shell命令行向udp端口发送数据先nc -uvudplinux命令,然后在输入数据即可
nc -uvz可以用来测试udp端口是否开启监听
比如要向本地10001端口发送数据udplinux命令 , 可以使用
echo "hello"/dev/udp/localhost/10001
方法二udplinux命令的好处在于,发送完数据后自动退出 。当udplinux命令我们需要在命令行下循环向特定udp端口发送数据时 , udplinux命令我们只能使用方法二 。
例如
while true
do
echo "xxxx"/dev/udp/localhost/10001
done
【udplinux命令 udp linux】udplinux命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于udp linux、udplinux命令的信息别忘了在本站进行查找喔 。

    推荐阅读