月度归档:2024年03月

开源多平台支持的局域网文件分享工具 Localsend 2024-03-31

前缀、文档修改记录

20240331 初始化编辑此文章,完稿

章节1、需求描述

一般来说,局域网内,分享文件,传输内容,是不需要经过公网的。且通过某一些聊天工具发送内容,都是会经过平台的审核。

在一些特定的场景下,我们需要这样的一款工具,它可以支持纯局域网共享信息内容。

章节2、项目信息

Localsend项目,Github地址 https://github.com/localsend/localsend

章节3、日常使用

该项目,支持完全自主化编译各平台的客户端程序,各位量力而行,本篇博客仅做开箱介绍,不做编译指导。

目前,该软件,已经支持 文件/文件夹/文本/剪贴板,多维度的局域网共享,支持URL链接方式的局域网分享。

  • Windows系统,直接下载对应版本的exe文件,执行即可,如:LocalSend-1.14.0-windows-x86-64.exe
  • 安卓系统,直接下载安装对应版本的apk文件,执行即可,如:LocalSend-1.14.0.apk
  • 苹果MAC系统,直接下载安装对应版本的dmg文件,如:LocalSend-1.14.0.dmg
  • 苹果手机iPhone,直接在苹果商店,下载LocalSend 应用程序

作为一款开箱即用的工具,它的使用几乎是无学习成本的,只需要保证你需要互传文件或信息的两台/多台设备,在同一个局域网下。

如果内网有防火墙设备,记得放行如下端口。放行,入站/TCP&UDP/53317,出/Any/Any。

截止当前日期的版本V1.14.0,已完成支持通过链接分享文件,这样,一些单次分享任务,就可以不必安装客户端软件了,非常棒!这对于我常分享文件到Linux系统,有非常大的用处。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于netcat/nc命令,检测地址端口是否通 2024-03-11

前缀、文档修改记录

20240311 初始化编辑此文章,完稿
20240311 在录制视频后,修正部分内容及描述

章节1、需求描述

业务侧,经常需要检测业务地址,业务端口是否能通,这样的需求,就需要配套的工具来排查。

章节2、检查主机是否存活

常规来说,检测一个业务,是否可达,先检测其云主机ECS是否存活,处于开机状态。一般基于ping其IP地址的路由是否可通的方式来判断。一般来说,优先使用ICMP的ping 方式进行检测排查问题

ping xxx.xxx.xxx.xxx    # 其中xxx.xxx.xxx.xxx为一个有效IP地址

如果IP地址不通,可能为网络真实不通,或可能存在对端防火墙屏蔽ICMP的包

亦可通过mtr / tracert / traceroute 相关命令,测试路由点,是否为中间某个路由点有误。

章节3、检查端口是否可通

一般来说,如果上一个章节的云主机IP地址都不通,优先检查主机故障/防火墙规则/IP地址的路由问题。或者,如果路由正确且明确知道是对端已关闭ICMP包响应,则可进行TCP/UDP端口检查。

本次推荐使用netcat/nc命令,进行端口TCP/UDP是否可达的检查。

3.1、安装netcat

Debian/Ubuntu 安装netcat/nc的命令,且推荐优先安装的版本为 netcat-openbsd,而非netcat-traditional

// OS: Debian 12
root@server:~# apt update
root@server:~# apt-get install netcat-openbsd     
root@server:~# 

3.2、netcat参数释义

root@server:~# nc -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
	  [-m minttl] [-O length] [-P proxy_username] [-p source_port]
	  [-q seconds] [-s source] [-T keyword] [-V rtable] [-W recvlimit] [-w timeout]
	  [-X proxy_protocol] [-x proxy_address[:port]] 	  [destination] 

参数清单:
-4		Use IPv4/仅使用IPv4

-6		Use IPv6/仅使用IPv6

-b		Allow broadcast/允许广播

-C		Send CRLF as line-ending

-D		Enable the debug socket option/启用对套接字的调试

-d		Detach from stdin/不尝试从stdin进行读取

-F		Pass socket fd

-h		This help text/帮助文档

-I length	TCP receive buffer length

-i interval	Delay interval for lines sent, ports scanned/指定发送和接收的文本行之间的延迟时间interval

-k		Keep inbound sockets open for multiple connects/nc在接收完一个请求后不会立即退出,而是会继续监听其他请求

-l		Listen mode, for inbound connects/监听模式

-M ttl		Outgoing TTL / Hop Limit

-m minttl	Minimum incoming TTL / Hop Limit

-N		Shutdown the network socket after EOF on stdin

-n		Suppress name/port resolutions/不使用域名

-O length	TCP send buffer length

-P proxyuser	Username for proxy authentication

-p port		Specify local port for remote connects/为远程连接定义的本地端口号

-q secs		quit after EOF on stdin and delay of secs

-r		Randomize remote ports

-S		Enable the TCP MD5 signature option

-s source	Local source address/指定用于发送数据包的接口的IP地址

-T keyword	TOS value

-t		Answer TELNET negotiation

-U		Use UNIX domain socket

-u		UDP mode/使用UDP,而不是缺省选项TCP

-V rtable	Specify alternate routing table

-v		Verbose/指定详细输出

-W recvlimit	Terminate after receiving a number of packets

-w timeout	Timeout for connects and final net reads/如果连接和stdin空闲超过了timeout秒,则无提示地关闭连接

-X proto	Proxy protocol: "4", "5" (SOCKS) or "connect"/与代理服务器通信时,使用该指定协议。受支持的协议为4(SOCKSv4)、5(SOCKSv5)和connect(HTTP代理)。如果未指定协议,则使用SOCKSv5

-x addr[:port]	Specify proxy address and port/使用proxy_address和port上的代理请求到addr的连接。如果未指定port,则使用代理协议的已知端口(SOCKS为1080,HTTP为3128)

-Z		DCCP mode

-z		Zero-I/O mode [used for scanning]/执行端口扫描。对于TCP端口(缺省),尝试在不发送数据的情况下执行连接扫描(完整三路信号握手)。对于UDP(–u),缺省情况下会发送空UDP包

Port numbers can be individual or ranges: lo-hi [inclusive]
root@server:~# 

3.3、用netcat检测TCP端口

nc -nvz 93.150.241.210 8000-9999    

3.4、用netcat检测UDP端口

nc -nvzu 93.150.241.210 123

端口如果是通的,会类似如下的显示

root@debian12:~# nc -nvz 10.11.11.200 22
Connection to 10.11.11.200 22 port [tcp/*] succeeded!
root@debian12:~# 

3.5、用netcat临时启动一个服务端TCP/UDP监听

如果是为了验证端口,需要自己在服务器上临时启动一个监听,也可以使用netcat临时启动一个服务端的TCP/UDP端口监听。

nc -n -l -k -u 123    # 监听UDP/123
nc -l -k 3389    # 监听TCP/3389

-l 代表netcat 将以监听模式运行;
-k 表示netcat 在接收完一个请求后不会立即退出,而是会继续监听其他请求
-u 使用UDP,而不是缺省选项TCP

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

交换机基础命令 2024-03-04

前缀、文档修改记录

20240304 初始化编辑此文章,完稿

章节1、需求描述

罗列常见,常用的华为/新华三交换机的命令,及标记其含义

章节2、命令清单

dis ver   # 查看设备型号,及版本信息
dis cur   # 查看设备当前的全局配置信息
dis cur | inc stp   # 查看全局配置包含stp信息的配置
dis stop brief   # 查看stp摘要信息
dis cur | inc ntp   # 查看全局配置包含ntp信息的配置
dis ntp sessions   # 查看ntp会话
dis ntp status   # 查看ntp状态
dis cur | inc clock   # 查看全局配置包含时区的配置
dis clock   # 查看设备时间
dis cur | inc snmp   # 查看全局配置包含snmp的配置
dis ip interface brief   # 查看三层接口摘要信息
dis interface description   # 查看所有接口的摘要信息
dis cur interface 10GE1/1/0/1   # 查看接口的配置信息
dis stack   # 查看堆叠状态
dis stack configuration   # 查看堆叠端口
dis dual-active   # 查看堆叠检测
dis alarm active   # 查看硬件告警信息
dis cpu   # 查看CPU利用率
dis memory   # 查看内存利用率
dis device power   # 查看电源模块状态
dis device fan   # 查看风扇模块状态
dis device temperature   # 查看温度信息
dis lldp neighbor brief   # 查看lldp邻居信息
dis interface brief   # 查看接口统计信息
dis logbuffer   # 查看日志信息
dis interface 10GE1//3/0/1 transceiver verbose  # 查看端口收发光,看光模块是否原装
dis eth-trunk 1   # 查看聚合组及成员信息

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨