新学的nc小技巧

最近遇到不少转发上的问题, 很大部分是因为一些不太常见的客户端请求. 正常的请求我们可以直接curl模拟, 但是有些异常的, 比如 某些header内容为空, 我们就很难模拟. 这时候可能就需要用上nc来模拟了. 当然它不仅仅可以用来模拟http请求. 下面介绍两个新学的 技巧. 模拟http请求发送 模拟一个POST请求. 直接使用指令nc 127.0.0.1 8080, 然后徒手敲命令;) 当然我们也可以提前把内容写到一个文本文件里面, 然后用管道传给nc # 发送request.txt中的内容到本地的8080端口 cat request.txt | nc 127.0.0.1 8080 这里还会有一个问题, 我希望nc发送完后等待一段时间再退出, 可以这么搞: # 发送request.txt中的内容到本地的8080端口, 并等待10秒 (cat request.txt; sleep 10) | nc 127.0.0.1 8080 这样我们就可以通过修改request.txt文件构造不同的request了. 自定义发送端口 一般应用发送数据的端口是由操作系统随机选择的, 但是有时候在debug的时候可能需要强制使用某个端口, 这时候可以用上nc的-p指令. 这个在排查四层转发问题的时候还是蛮好用的.

February 1, 2019 · akawhy