Awesome Mac
收集了很多好用的mac软件,这是一个大集合,内容太多,这里只是显示部分内容,更多内容大家可以到网站上浏览,寻找自己喜欢的软件。
图片 表示 开源软件 ,点击进入 开源 仓库;
图片 表示 免费 使用,或者个人 免费 ;
图片 表示 App store 连接地址;
图片 表示项目的相应 Awesome list 的超链接;
正则编辑器
Patterns – 正则表达式编辑器。
Regex – 感觉是用过最漂亮的正则表达式测试工具。
Reggy – 正则表达式编辑器。Open-Source Software Freeware
RegExRX – 正则表达式的开发工具。
API开发和分析
Cocoa Rest Client – 比 Postman 看起来漂亮的客户端,测试 HTTP/REST endpoints。Open-Source Software Freeware
Insomnia – 最直观的跨平台 REST API 客户端。Open-Source Software Freeware
Postman – Postman 帮助我们快速测试 API。Freeware
Katalon Studio – 简单开放性测试前端开放工具, 网页, 手机应用等客户端。可以使用在不同的浏览器Freeware
Apifox – Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter Freeware
HTTPie – 经典的命令行 HTTP 客户端,现在提供 APP 版和网页版。HTTPie 简单、直观的 HTTP API 客户端。Freeware
网络分析
Charles – 一个代理工具,允许你查看所有的 HTTP 和 HTTPS 流量。
James – 用于 https 和 http 进行查询映射请求。Open-Source Software Freeware
mitmproxy – 一款支持 HTTP(S) 的中间人代理工具,可在终端下运行,可用于抓包 Open-Source Software Freeware
Paw – 先进的 HTTP 客户端。
Proxie – HTTP 调试客户端。App Store
Proxyman – 适用于 macOS 的现代直观 HTTP 调试代理. Freeware
Wireshark – 世界上最广泛使用的网络协议分析软件。Open-Source Software Freeware
作图工具
Draw.io – 上百种图形,支持多种格式导出。Freeware
OmniGraffle – Omni 成员,native 应用。
ProcessOn – 流程图、思维导图、原型图… 中文友好,免费保存 5 个文件。
截图工具
GifCapture – 开源 macOS 截屏生成 Gif 工具。Open-Source Software Freeware
Gifox – 专业的高颜值 GIF 录制应用。
GIF Brewery – GIF Brewery gives everyone the power to create stunning GIFs from video files. App Store Freeware
GIPHY Capture – 免费软件的捕捉和分享图片在桌面上。Freeware App Store
Kap – 轻量 GIF 录屏小工具。Open-Source Software Freeware
KeyCastr – 录屏好帮手,实时显示按键操作的小工具。Open-Source Software Freeware
Licecap – 是一款屏幕录制工具输出 GIF,录制过程中可以随意改变录屏范围。Open-Source Software Freeware
Monosnap – 制作截图,录制视频共享文件。Freeware App Store
Skitch – 截图附带强大的标注功能。Freeware
Shifty – 一个菜单栏应用程序,让您更多地控制夜班。Open-Source Software
Snipaste – 一个简单但强大的截图工具。Freeware
Snip – 高效的截图工具,支持滚动截屏,腾讯作品。Freeware
Teampaper Snap – 为设计师量身定做的屏幕截图兼注释工具。Freeware App Store
截图(Jietu) – 截图附带强大的标注功能,腾讯作品。Freeware
Xnip – 免费好用的滚动截屏利器。App Store Freeware
iShot – 完全免费、功能全面的截图工具,支持贴图、滚动截图、延时截图等。App Store Freeware
Screen Studio – 分分钟录制精美屏幕,自带精美帧动画,无须编辑。
概述
·MAC地址(MAC Address)
·MAC(Medium/Media Access Control)地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成224个不同的地址。MAC地址实际上就是适配器地址或适配器标识符EUI-48。
解释
·MAC(Media Access Control,介质访问控制)地址,也叫硬件地址,长度是48比特(6字节),由16进制的数字组成,分为前24位和后24位:
·前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
·后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
·MAC地址对应于OSI参考模型的第二层数据链路层,工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧。
·其中第1字节的第8Bit(如图中00-50-BA-…对应的00000000-01010000-10111010-…,加粗字体的Bit)标识这个地址是组播地址还是单播地址。这是由以太网的传输协议高字节先传,但每一字节内低位先传的特性所决定的,见IEEE 802.3 3.2.3 Address fields: “The first bit (LSB) shall be used in the Destination Address field as an address type designation bit to identify the Destination Address either as an individual or as a group address. If this bit is 0, it shall indicate that the address field contains an individual address. If this bit is 1, it shall indicate that the address field contains a group address that identifies none, one or more, or all of the stations connected to the LAN. In the Source Address field, the first bit is reserved and set to 0.”。事实上这传输的顺序为000000000000101001011101…“The first bit (LSB)”即是前言的第8Bit。
·网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
·也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象地说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
算法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| -- lua实现 By:Wiger
-- 获取随机MAC地址
function getRandomAddress()
local adrArray = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }
local adrStr = ""
math.randomseed(tostring(os.time()):reverse():sub(1, 6))
for i = 1, 12 do
local index = 0
if i ~= 2 then
index = math.random(1, 16)
else
-- 第二位只能是偶数
local indexArray = { 1, 3, 5, 7, 9, 11, 13, 15 }
index = indexArray[math.random(1, 8)]
end
adrStr = adrStr .. adrArray[index]
end
return adrStr
end |
参考文献:http://baike.baidu.com/view/69334.htm