当前位置: 首页 >  技术宝典 >  分享我炼制的脚本神器,powershell版《tcp-ping》

分享我炼制的脚本神器,powershell版《tcp-ping》

导读:script 脚本 powershell tcp ping ipv6.powershell 传教士 原创文章。始于 2023-04-03 允许转载,但必须保留名字和出处.-–【前言】—.我写了个powershell脚本 tcp–ping-v3.ps1。它支持在linux下ping

script 脚本 powershell tcp ping ipv6

powershell 传教士 原创文章。始于 2023-04-03 允许转载,但必须保留名字和出处

-–【前言】—

我写了个powershell脚本 tcp–ping-v3.ps1。它支持在linux下ping ipv6地址。
但最近接到反馈,说不支持。实际上是帮助信息不好,所以我做了更改,完善了。就写了此贴。

先一键安装linux版powershell
https://gitee.com/chuanjiao10/kasini3000_agent_linux

下载地址:
https://gitee.com/chuanjiao10/kasini3000/blob/master/tcp–ping-v5.ps1

脚本功能说明:
先把域名解析成ip,或把k8s的service名解析成pod的ip,然后挨个tcp连接。并用 绿色 表示通了。红色表示不通。

在linux下,tcping,ipv6端口用法:(用法改了)
./tcp–ping-v5.ps1 ip 端口 -AdapterNameLinux ‘eth0’

建议搭配此脚本使用:fh返回网卡名_mac_ip_linux.ps1

-AdapterNameLinux ‘eth0’ 是v5版脚本新增参数。在linux下不用ipv6,不需要此参数。

-–【正文:凭什么你炼制的是神器?凭什么你这脚本世界第一?】—

1本脚本是【多线程】级别:
支持多线程并发例子:

$csv = import-csv -path 'd:\file.csv'
$csv | foreach-object -Parallel {
    /xxx/tcp--ping-v5.ps1 -MyComputerName $_.'域名或ip' -port $_.'端口'
}

【多进程】级别的坏处很明显,不适太合批量,你tcping一千个端口,就要fork一千次进程。说白了就是占cpu,内存多。
golang做不到;任何二进制程序做不到;py的话分2中情况:如果你从shell命令行调用,每次一个ip,那就是python -f x.py,这也是多进程级的。

2脚本是明文的:尽量用开源的二进制程序,减少被藏-毒的风险。
golang做不到;任何二进制程序做不到;

3脚本跨平台。1个脚本文件,win,linux通用。
golang做不到;任何二进制程序做不到;py可以。

4本脚本解析dns,是k8s的绝佳伴侣:
一遍遍地tcp–ping.ps1,就可以测试k8s集群中,
1 测试k8s cluster 域名解析是否正常,是否少解析出了几个pod ip。
2 解析10遍k8s cluster域名,测试是否有几遍,解析过程会卡住。
3 测试每个k8s pod的【某端口】是否全通。

为啥必须得用:
1 先把域名解析成ip,然后挨个tcp连接。(如图所示)linux的tcping无此功能。顾此特色世界唯一!

2 当你使用iptable作为k8s的虚拟路由器时,不能使用ping来测试集群是否通。因为iptable不转发icmp。

-–【后记】—

问:为什么不用linux的tcping?
答:tcping除了不解析ip外,还不支持ipv6

“linux的tcping还有这等限制,我也算读过不少上古典籍,怎么没听说过此事?”二愣子韩立眉头皱起说道。

“韩兄以为我想用powershell版吗?这也是被逼无奈之事。大部分linux古书上只是记载了tcping的神妙,但是却很少有修士记录它的缺陷。
我辈修士一用才发现,并不显示解析的ip,还不支持ipv6。韩兄,不信你试试” 紫灵苦笑一声无奈的说道。

-炼制神器,必须有精益求精的精神。谢谢观看完-

内容
  • 三维模型轻量化在移动应用场景的如何发挥作用
    三维模型轻量化在移动应用场景的如
    2023-12-01
    在移动应用场景中,三维模型的重量对于应用的性能、流畅度和用户体验都有很大的影响。而三维模型轻量化技术可以通过减少模型数据
  • 旋转网格超采样(Rotated Grid Supersampling)
    旋转网格超采样(Rotated
    2023-12-06
    旋转网格超采样(Rotated Grid Supersampling).这是对文章 4-Rook Antialiasin
  • gitlab ci 集成 eslint/prettier/tsc 做代码审查,并使用 eslint 输出作为显示代码质量
    gitlab ci 集成 esl
    2023-12-09
    前言.想自动化一下公司里代码的部分审查,最初想用 reviewdog 的,但是公司的域名基本都在 VPN 中访问的,gi
  • 什么是软件供应链?
    什么是软件供应链?
    2023-12-05
    1 软件供应链定义.需方和供方基于供应关系,开展并完成软件采购、开发、交付、获取、运维和废止等供应活动而形成的网链结构。
  • 在idea/webstorm等terminal运行命令报错:Command rejected by the operating system没有权限【已解决】
    在idea/webstorm等t
    2023-12-10
    在idea/webstorm等编译器terminal窗口运行命令报错:Command rejected by the o
  • 实时光线追踪(3)Ray Casting
    实时光线追踪(3)Ray Cas
    2023-12-01
    目录.硬件光追(Hardware Ray Tracing).加速结构(Acceleration Structure,AS