为公司省钱往往省不到自己身上

感觉本网站还不错的,请主动关闭浏览器的广告屏蔽功能再访问本站,谢谢支持。

09
2025
04

node中的 ping 库

在node中应用了一个ping类库,也就用了,以为是socket封装,之前一波学习ping之后突然想起来看看。一翻,失望了。基于系统ping。我们看下关键代码:node-ping关键代码/**  * Return a path to the ping executable in the system  * @param {string} pla
09
2025
04

纯前端判断浏览器是否支持 webp

今天翻video标签文档,看到里面的source可以根据类型加载支持格式的视频链接。突然就想起了一个问题,图片可以吗,我可以判断是否支持webp么?说干就干,顺路就摸到了picture标签。哈哈哈哈,看起来是有戏。最容易搜索到的如该文判断浏览器是否支持 webp 的几种解决方法,主要为:使用 canvas 的 toDataURL 进行判断就刚刚去查caniuse,发现了个大秘密。如下,就2022年8月19日的今天,大部分浏览器的新版本已经支持webp格式了,然而,toDataURL 出现了滞后,
09
2025
04

谷歌统计和百度统计前端部分的简单对比

目录前文数据收集前端思路的对比协议百度 http/1.1谷歌 h2 or h3直观的区别结论方法百度 new Image()谷歌 Navigator.sendBeacon小结区别关于优先级节流百度 不节流谷歌 5秒延迟直观表现小结话外访问时长标记用户百度测试记录请求携带方式关于会话时间谷歌测试记录请求携带方式关于会话时间小结总结前文最近思考如何设计统计访问数据,做小的就是页面接口的计数,做大了和大厂的统计又没啥区别,暂时没想明白。先来看看谷歌统计和百度统计的一些明显的区别。数据收集前端思路的对比
09
2025
04

php ping ipv4 by socket

代码<?php/// start ping.inc.php ///$g_icmp_error = "No Error";// timeout in msfunction ping($host, $timeout){         $port = 0; &nb
09
2025
04

ipv4 ICMP 报文

目录ICMP报头type and codetype=3 目标不可达消息type=11 超时消息type=12 参数问题消息type=4 源抑制报文type=5 重定向消息type=8 | 0 请求和应答报文type= 13 | 14 时间戳或时间戳回复消息type = 15 | 16 信息请求或信息回复消息参考ICMP报头ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部
09
2025
04

从icmp认识ipv4包结构

目录ping 1.0.0.1 回包报文十进制显示一个 IPv4 包的结构解析69 0 0 6050 51 0 055 1 141 141 0 0 1192 168 2 215ICMP 报文0 0 75 233179 202 0 76报文获取代码参考ping 1.0.0.1 回包报文十进制显示69 0 0 60  50 51 0 0  55 1 141 14  1 
09
2025
04

php ping ipv4 by socket

在php文档的笔记中搞了段php ping的代码php ping ipv4 by socket,顺便学习了ipv4 ICMP 报文和ipv4包结构,对ping的过程和php socket的使用有了初步的认识。本文记录下自己遇到的一些情况和代码分享。copy的代码遇到的问题ping 域名时,会把域名dns查找时间也计算进去在本地测试ok,扔服务器上测试,失败率很高而直接用bash ping的话,丢包率很低,用这段代码的话,丢包率很高,且时高时低。实在是搞不明白原因是啥,只能去看看ip报文看看是代码
09
2025
04

php实现简单的dns服务

php实现简单的dns服务 php dns目录前文源码安装运行测试结果后文参考另外的一个项目前文之前看php socket 部分总觉得是不是php也可以做个dns服务器呢?虽然可以通过该本地的host实现。不过现在host文件由于权限问题,而且只在本地生效,烦。如果可以,那搭个私有dns在局域网也是不错的(国内服务器开53会被警告,不要问我为啥知道)。当然还是有许多工具可以使用,不过后面还是研究起php版本了。最大的好处就是搞定了不就是随便玩么,什么分地区解析啥的不也来试试。
09
2025
04

window tcp timestamp enable/disabled

目录日常铺垫注册表设置通过命令设置日常铺垫今天需要测试抓tcp中带timestamp选项的包,无奈自己的win10电脑该选项默认是关闭的。网上搜了下,简单记录。正常抓包如下,不带timestamp 选项。Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NO
09
2025
04

TCP报文( tcp dup ack 、TCP Retransmission)

使用FTP 上传数据的时候总是不能成功,抓包后发现 TCP 报文出现 TCP dup ack 与 TCP Retransmission 两种类型的包。收集整理下TCP dup ack (重复应答)[TCP dup ack XXX#X] 表示第几次重新请求某一个包,XXX表示第几个包(不是Seq),X表示第几次请求。丢包或者乱序的情况下,会出现该标志。图例中:第26548 第0 此请求 4468792 的包,重复 4申请了4次 ;[TCP Fast Retransmission] (快速重传)一般
09
2025
04

通过https握手rtt识别TCP代理(SOCKS5/HTTP/HTTPS)

目录原理未经隧道的正常的https请求简化示意图数据和分析经隧道的https 请求示意图过程简述特别部分数据和分析总结其他思考http + 302 跳转测试直接连接300ms的TCP隧道关于代码或demo最近在研究tcp 选择timestamp中,发现了其中功能之一是用来计算往返时间(rtt)。经过http隧道代理的学习后,我发现这个rtt在特定情况下可以用来识别用户是否使用了隧道代理。原理tcp隧道在创建时和建立后这2个状态中,会出现2种数值的rtt,如果可以准确的捕获,以此为依据则可以断定该
09
2025
04

通过一个302图片识别代理(SOCKS5/HTTP/HTTPS)

通过一个302图片识别代理(SOCKS5/HTTP/HTTPS) tcp proxy guess socks5 http目录302图片特点原理对比302图片过程正常情况下在代理的情况下与https不同的地方提取关键数据相比TLS握手优点demo在通过https握手rtt识别TCP代理(socks5/http)之后,渐渐的发现这个事情没想象中的靠谱,主要原因分析大概如下:iphone在部分情况会有谜之延迟,如果通过设置清楚浏览器缓存和记录,可以稳定得到一个近
09
2025
04

wireshark、tshark、dumpcap和 tcpdump

目录区别tcpdump wireshark 对比Tshark 和 Dumpcap 性能对比参考他们之间的关系大概如下libpcap => tcpdump   => dumpcap => tshark\Wiresharktcpdump 、dumpcap 都是基于libpcap 封装,dumpcap 是 tshark\Wireshark 的引擎,而Wireshark 是 tshark的GUI 版本。区别Wir
09
2025
04

IP 应用场景 阅读笔记

目录IP应用场景实现原理步骤A. 获取与IP相关的AS和Whois数据信息B. 根据IP所屈的网络服务商,对IP的应用场景初步分类C. 根据IP的网络特征,对IP的应用场景进一步分类IP的网络特征参考IP应用场景例如 在ipip.net中 ,该功能支持IPv4与IPv6的应用场景查询,包含(企业专线,数据中心,教育机构,家庭宽带,移动网络)等15种常见使用场景。本文为个人的阅读后的内容拼凑,参考链接可以直接跳到文末。实现原理步骤A. 获取与IP相关的AS和Whois数据信息通过分布式网络爬虫技术
09
2025
04

记一次nat64 的使用过程

 nat64目录dns64nslookup 举例使用 dns.google指定 dns64 为解析服务器nat64使用 curl 测试默认指定解析地址以使用nat64注意参考今天搞了个只有ipv6的机子,遇到了一个问题。我想访问ipv4的服务要怎办呢?比较简单的是自己用双栈的服务器搭建一个代理socks,监听ipv6地址,然后从ipv4地址发出。不过发现了一个有趣的东西:公共nat64,这里简单记录下,主要是https://nat64.net/ 。dns64https://n
09
2025
04

揭秘最为知名的黑客工具之一:ZMap(高效网络扫描利器)

https://github.com/zmap/zmap https://zmap.io/ ZMap:高效的网络扫描利器在现代网络安全和研究中,了解网络拓扑和设备状况是至关重要的。ZMap 是一款开源的、高性能的网络扫描工具,专为大规模互联网扫描设计。本文将深入介绍 ZMap 的功能,并通过详细的图文并茂的教程,指导您如何高效地使用这款工具进行网络扫描和数据收集。免责声明:请确保所有扫描活动均在法律允许的范围内进行,并获得相关网络所有者的明确授权。未经授权的网络扫描可能违反法律法规。工
09
2025
04

自己在家开运营商 Part.4 - 建立自己的 Anycast 网络

前言我们暂且跳过上一 part 结尾提到的一系列拓展内容 (IGP/iBGP/DN42等), 这些内容在一个小型的 AS 内并不是必须的, 有兴趣的读者可以自行探索.让我们先来看一些别的 —— Anycast 网络. 很多国外的产品已经用上了这项技术, 例如 Cloudflare/Azure/Google 的 CDN 产品, 1.1.1.1/8.8.8.8 这类 DNS. (只有国内因为三大运营商的不作为, 还在使用传统的 DNS 分流)目前我们的 AS 内只有一台德国的 v
09
2025
04

自己在家开运营商 Part.3 - 接入 IXP 与他人 peer

前言上篇 Blog 中我们已经成功的将 IP 宣告到了整个 Internet, 本篇我们继续来讲 peer.peering 与 IXP我们的 AS214775 已经通过 xTom 的 IP transit 服务与整个互联网相连, 但上次还挖了个坑叫 “peering”.peering 意为对等互连 —— 两个 AS 通过友好协商的方式, 直接在两者间拉起一条链路, 这样两个 AS 间的流量就无需经过上级运营商, 提高带宽降低延迟的同时还能节约一部分给上游的结算费.IXP, 全称 Internet
09
2025
04

自己在家开运营商 Part.2 - 向世界宣告 IP 段 (BGP Session & BIRD)

前言上一篇 Blog 中我们已经请 LIR 帮我们注册好了自己的 ASN, 并租用(或获赠)了一段 IPv6 地址.这篇文章中, 我们要让全世界接入互联网的计算机都能访问到这段 IP 地址.BGP 会话理论上, 我们要通过 BGP 协议与其他 AS 内的边界网关连接, 建立 BGP 会话 (BGP Session), 互相交换自己的 IP 段.但作为新晋的迷你”运营商”, 我们并没有任何物理的基础设施. 要知道正经运营商的主要工作就是全世界到处拉网线, 其他运营商自然没有让我们白嫖的道
09
2025
04

自己在家开运营商 Part.1 - 注册一个 ASN

前言AS & BGP在计算机网络的课程中, 我们都知道当今的 Internet 实际上是由多个自治系统 (Autonomous system) 通过 BGP (边界网关协议) 相互连接形成的. 每个 AS 有一个编号, 被称为 ASN. 每个 AS 里会包含一些 IP 段, 而每个 IP 也必须在某个 AS 内被宣告才能接入互联网.例如南京大学在校内部分网络可能被分配 114.212.0.0/16 段下的公网 IP 地址, 使用 IPinfo 网页

您的IP地址是: