杂项

杂项

常用正则表达式

  • 查找所有汉字
    1
    [一-龥]
  • 用sed删除行末多余空字符
    1
    sed -i 's/\s*$//g' <filename>

反人类的Windows命令行

  • Powershell 设置别名
    1
    2
    3
    4
    notepad $profile #打开当前用户配置文件
    notepad $profile.AllUsersAllHosts #打开所有用户配置文件
    set-alias -name <alias name> -value <real name> #不带参数设置别名
    function <alias name>{<real name> $args} #带参数设置别名
  • Powershell自动补全优化
    1
    2
    3
    4
    5
    6
    # Shows navigable menu of all options when hitting Tab
    Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

    # Autocompletion for arrow keys
    Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
    Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
  • netsh的使用
    1
    2
    3
    4
    5
    netsh interface portproxy add v4tov4 listenport=27015 listenaddress=192.168.1.66 connectport=27015 connectaddress=182.150.122.82 #将内网182.150.122.82:27015映射到192.168.1.66:27015
    netsh interface portproxy delete v4tov4 listenport=27015 listenaddress=192.168.1.66 #删除上面的映射

    netsh i i show in #获取网卡index
    netsh -c i i add neiGhbors <index> <GateWayIP> <GateWayMAC> #防arp欺骗
  • 卸载Windows 11桌面小组件
    1
    winget uninstall "Windows web experience Pack"
  • dism的使用
    1
    2
    3
    dism /online /cleanup-image /startcomponentcleanup #清除Windows补丁错误缓存
    DISM.exe /Online /Cleanup-image /Restorehealth
    sfc /scannow
  • CSGO指令
    1
    game_type 6; game_mode 0; map dz_blacksite;sv_dz_team_count 2;sv_dz_jointeam_allowed 1;sv_dz_autojointeam 0;sv_dz_player_spawn_armor 1 #开启本地头号特训

WSL的使用

WSL的初始化

修改配置文件

参考链接

/etc/wsl.conf

1
2
3
4
5
6
7
[network]
generateHosts=false
generateResolvConf=false
[user]
default=wed0n
[boot]
systemd=true

.wslconfig

1
2
3
4
5
[wsl2]
networkingMode=mirrored
autoProxy=true
[experimental]
sparseVhd=true

设置Hyper-V防火墙

允许局域网访问WSL
参考链接

1
2
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Enabled True

关闭 network-manager

如果不关闭,在mirrored网络模式下,无法通过127.0.0.1访问WSL

1
sudo systemctl disable network-manager.service

WSL运行一段时间后,Hyper-V虚拟网卡优先级异常提高

大多数微服务实现使用第一个网卡的IP地址,将自身注册到注册中心。虚拟网卡优先级过高将注册虚拟IP地址。
参考链接

1
2
Get-NetIPInterface #获取所有网卡信息
Set-NetIPInterface -InterfaceIndex <index> -InterfaceMetric <metric> #metric越小优先级越高

Mysql的使用

Mysql设置root使用密码登录并可被任意Host连接

1
2
3
4
-- CREATE USER 'root'@'%' IDENTIFIED BY 'password';
UPDATE mysql.user SET host='%' WHERE user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Vim的使用

正则替换

  • 正则匹配倍数的使用
    1
    2
    3
    4
    5
    6
    7
    * 匹配0个及以上,尽可能多
    *? 匹配0个及以上,尽可能少
    \+ 匹配1个及以上,尽可能多
    \= 匹配01个,尽可能多
    \{-} 匹配0个及以上,尽可能少,仅在vim有效
    \{n} 匹配n个
    \{m,n} 匹配m至n个,尽可能多
  • 指定字符替换为回车
    1
    2
    :%s/a/^M/g
    ^M是用ctrl-v然后ctrl-m敲出来的
  • 替换回车为指定字符
    1
    :%s/\n/\\n/g

Wireshark分析HTTPS数据包

Windows系统

  1. 添加环境变量SSLKEYLOGFILE值为密钥文件路径
    或者使用参数
    1
    chrome.exe --ssl-version-max=tls1.3 --ssl-key-log-file="./ssl_keys.txt"
  2. 打开Wireshakr转到首选项->协议->TLS,并将SSLKEYLOGFILE的值放入“(Pre)-Master-Secert log filename”。还需要勾选有关重新组装TLS记录和应用程序数据的复选框

使用Frida在Android平台抓包

  1. 手机中执行
    1
    tcpdump -i any -s 0 -w /sdcard/Download/capture.pcap
  2. 电脑端执行
    1
    frida -U -f <packagename> -l .\tls-keylogger.js > key.txt
  3. 将capture.pcap复制到电脑中,用Wireshark打开,并设置Wireshark的TLS密钥路径为指定路径

Node.js的NPM模块

添加环境变量NODE_PATH并将值设置为%AppData%\npm\node_modules
以后安装模块使用以下命令npm install <packagename> -g

Windows疑难杂症

  • Windows Store无法安装应用
    删除以下文件夹%systemdrive%\Users\<user>\AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy
  • Windows 移动热点无法获取IP地址
    前往 控制面板/所有控制面板项/网络连接 ,右键实际访问互联网的网络连接,然后启用该连接的网络共享功能,再关闭网络共享功能.最后重新启动热点.

编程语言

  • 获取malloc分配的空间大小
    函数 平台
    _msize visual c++
    malloc_size MacOS
    malloc_usable_size gcc
  • Java不信任系统根证书
    Java只信任虚拟机内的根证书,将不受信任的根证书加入即可
    1
    2
    cd ${JAVA_HOME}/lib/security
    keytool -importcert -alias <alias name> -file <pem file> -keystore cacerts -storepass changeit -noprompt -v -trustcacerts