2023年7月23日发(作者:)
【Linux】⽹络调试命令总结ping测试⽹络连通性ifconfig显⽰当前系统中所有⽹络设备,基于ICMP协议开发的。netstat参数-a (all)显⽰所有选项,netstat 默认不显⽰ LISTEN 相关。-t (tcp)仅显⽰ tcp 相关选项-u (udp)仅显⽰ udp 相关选项-n 不显⽰别名,能显⽰数字的全部转化成数字-l 仅列出有在 Listen (监听) 的服務状态-p 显⽰建⽴相关链接的程序名-r 显⽰路由信息,路由表-e 显⽰扩展信息,例如uid等-s 按各个协议进⾏统计 (重要)-c 每隔⼀个固定时间,执⾏该 netstat 命令。实例netstat -apn|grep 6666 # 查看端⼝6666相关的⽹络状态netstat Socket -x -alepn # 查看套接字⽹络连接状态netstat -atn # 查看TCP套接字⽹络连接状态lsof列出已经打开的⽂件描述符实例 lsof -Pni # **lsof -i** 默认也会显⽰ ip 地址和端⼝号的别名,我们只要使⽤ **-n** 和 **-P** 选项就能相对应地显⽰ ip 地址和端⼝号lsof -i | grep myapp # grep 命令过滤我们想要查看的进程打开的 fd 信息 lsof -p pid # 过滤出指定的进程打开的 fd 信息tcpdump参数-i 指定要捕获的⽬标⽹卡名,⽹卡名可以使⽤前⾯章节中介绍的 ifconfig 命令获得;如果要抓所有⽹卡的上的包,可以使⽤ any 关键字。## 抓取⽹卡ens33上的包tcpdump -i ens33## 抓取所有⽹卡上的包tcpdump -i any-X 以 ASCII 和⼗六进制的形式输出捕获的数据包内容,减去链路层的包头信息;-XX 以 ASCII 和⼗六进制的形式输出捕获的数据包内容,包括链路层的包头信息。-n 不要将 ip 地址显⽰成别名的形式;-nn 不要将 ip 地址和端⼝以别名的形式显⽰。-S 以绝对值显⽰包的 ISN 号(包序列号),默认以上⼀包的偏移量显⽰。-vv 抓包的信息详细地显⽰;-vvv 抓包的信息更详细地显⽰。-w 将抓取的包的原始信息(不解析,也不输出)写⼊⽂件中,后跟⽂件名:tcpdump -i any -w filename-r 从利⽤ -w 选项保存的包⽂件中读取数据包信息。实例tcpdump -i any -nn -S 'tcp port 3000' # 查看经过 TCP 端⼝ 3000 上的数据包nc实例使⽤ -l 选项(单词 listen 的第⼀个字母)在某个 ip 地址和端⼝号上开启⼀个侦听服务,以便让其他客户端连接。通常为了显⽰更详细的信息,会带上 -v 选项。nc -v -l 127.0.0.1 6000 # 模拟⼀个服务器程序⽤ nc 命令模拟⼀个客户端程序时,我们不需要使⽤ -l 选项,直接写上 ip 地址(或域名,nc 命令可以⾃动解析域名)和端⼝号即可nc -v 80 # 模拟⼀个客户端 连接百度 web 服务器nc -v -p 5555 80 # -p 选项指定使⽤ 5555 端⼝连接上了百度telnet实例# 检测指定 ip 地址和端⼝号的侦听服务是否存在telnet 120.55.94.78 8888 # telnet ip port
cur实例模拟发送 http 请求curl # curl 页⾯url 默认⾏为是把⽬标页⾯内容输出到 shell 窗⼝# -X 选项来显式指定请求是 GET 还是 POST ⽅式(不指定使⽤默认 GET ⽅式)curl -X GET /?s=9curl -X POST -d 'somepostdata' '/api/v1/chat'# 发送 http 请求时设置增加⼀些头部信息 使⽤ -H(或 –header)指定curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -H 'X-Requested-With: XMLHttpRequest' -d 'somepostdata' '/api/v1/chat'# http 的应答结果中包含 http 头部信息,可以使⽤ -i 选项curl -I /strace跟踪程序执⾏时进程的系统调⽤以及所收到的信号# 跟踪进程号为pid的进程所收到的信号sudo strace -e trace=signal -p pid
ps查看进程状态的命令# server为执⾏的程序名称ps -eo pid,ppid,sid,tty,pgrp,comm,cmd | grep -E 'bash|PID|server'
valgrind内存泄漏检查⼯具,帮助查找程序中的bug和改进程序性能的⼯具集;最终要的⼯具是memceck内存检查功能,⽤于检查内存的泄漏# On-off是⼀些开关 server是可执⾏程序的⽂件名valgrind --tool=memcheck On-off server# 如下开关# --tool=memckeck : 使⽤valgrind⼯具集中的memcheck⼯具# --leak-check=full : 指的是完全full检查内存泄漏# --show-reachable=yes : 显⽰内存泄漏的地点
# --trace-children=yes : 跟⼊⼦进程# --log-file= :将调试信息输出到,不输出到屏幕
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690105535a306250.html
评论列表(0条)