通过进程号获取进程启动路径
通过进程号获取进程启动路径
- 获取进程PID,然后进入/proc/进程PID
-
ls -l
通过进程号获取进程启动命令.png
或者使用pwdx
命令
pwdx [pid]
ping
确定网络主机的连通状态
- 发指定个数ping包
- linux
ping -c 4 www.baidu.com
- windows
- linux
- 指定ping报文数据包大小
ping -s 512 www.baidu.com
telnet
用于确定目标主机端口是否打开
telnet www.baicu.com 80
nc
- 规则
- 连接服务器某端口
可用来测试对方端口是否打开nc -v 127.0.0.1 12345
- 在某个端口开启监听
nc -v -l 12345
- 用nc来发送接收文件
- 接收端
nc -l ip地址 端口号 > 接收的文件名
- 发送端
nc ip地址 端口号 < 发送的文件名
- 接收端
lsof(list opened fd)
lsof(list open files)是一个列出当前系统打开文件的工具:
-
可用来查看当前进程加载的动态库。
lsof.png- COMMAND
进程的名称 - PID
进程标识符 - USER
进程所有者 - FD
文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等 - TYPE
文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。 - DEVICE
指定磁盘的名称 - SIZE
文件的大小 - NODE
索引节点(文件在磁盘上的标识) - NAME
打开文件的确切名称
- COMMAND
- 查看谁在使用某个文件
lsof abc.txt
- 查看指定进程打开的文件句柄
lsof -c mysql lsof -p 222
- 列出TCP连接网络连接信息
lsof -i tcp -Pn
- 列出UDP连接网络连接信息
lsof -i udp
- 查找谁在使用某个端口
lsof -i tcp:80
netstat
netstat -[atunlp]
-a:列出目前系统上所有的连接,监听,socket
-t:列出tcp网络数据包数据
-u:列出udp网络数据包数据
-n:不列出进程的服务名称,以端口号来显示
-l:列出目前正在监听的网络
-p:列出网络服务的PID
查看某个端口是否被占用
netstat -anp | grep 80
统计TCP套接字各状态信息
netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}'
netstat 中Recv-Q 和 Send-Q的意义
-
当套接字处于连接状态时
- Recv-Q 表示套接字缓冲还没有被应用程序取走的字节数(即接收队列长度)
- Send-Q 表示还没有被远端主机确认的字节数(即发送队列长度)
-
当套接字处于监听状态时
- Recv-Q 表示全连接队列的长度。
- Send-Q 表示全连接队列的最大长度。
全连接,是指服务器收到了客户端的 ACK,完成了 TCP 三次握手,然后就会把这个连接挪到全连接队列中。这些全连接中的套接字,还需要被 accept() 系统调用取走
pstack
pstack 可用来跟踪进程栈,这个命令在排查进程假死的问题时非常有用。可以在一段时间内,多次执行pastck
查看堆栈,若发现代码总是停留在同一个位置,那么很可能就是出问题的地方。
pstack pid > log
tcpdump
规则
第一种是关于类型的关键字,主要包括:host
,net
,port
第二种是确定传输方向的关键字,主要包括src
,dst
,dst or src
,dst and src
第三种是协议的关键字,主要包括ip
,arp
,rarp
,tcp
,udp
除了这三种类型的关键字外,还有其他的如:
broadcast
,gateway
,less
,greater
三种逻辑运算,
取非运算是: not 或 !
,与运算是and 或 &&
,或运算 是or 或 ||
用例
- 抓取所有网卡
tcpdump -i any
- 获取指定网络接口的数据包
tcpdump -i eth0
- 查看通过tcp端口80的报文
tcpdump tcp port 80
- 截获所有 210.27.48.1 的主机收到的和发出的所有的数据包
tcpdump host 192.168.17.245
- 截获主机 210.27.48.1 和 主机 210.27.48.2 或 210.27.48.3 的通信
tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3 /)
- 打印十六进制的网络数据包
tcpdump -X dst port 25002
- 抓取多播数据
tcpdump - v multicast and not broadcast
- 保存为cap文件
tcpdump host 192.168.17.245 -w 11.cap
参考资料
网友评论