lsof(list open file)列举出当前系统所打开的文件
(1)lsof会访问内核打开的各种文件所以需要root用户身份去运行
sudo lsof
(2)lsof -p <pid>显示指定进程打开的文件
(3)lsof filename显示指定文件在哪些进程中被打开
(4)lsof -d fd 显示所有文件描述符是fd的进程
lsof -d 5
(5)lsof -i:端口号
lsof -i TCP
lsof -i @ip地址
(6)当内存中还有进程打开你意外删除的文件的时候, 可以使用lsof回复
lsof | 个人票filename //查看打开这个文件进程
cd /proc/4068/fd //切换到/proc文件系统
cat fd>filename //将删除的文件从内存倒回磁盘
cwd current working directory;
Lnn library references (AIX);
err FD information error (see NAME column);
jld jail directory(FreeBSD)
ltx shared library text(code and data);
Mxx hex memory-mapped type number xx.
m86 DOS Merge mapped file;
mem memory-mapped file;
mmap memory-mapped device;
pd parent directory
rtd root directory
tr kernel trace file(openBSD);
txt program text(code and data);
v86 VP/ix mapped file;
netstat 命令用于显示各种网络相关的信息,例如网络连接,路由表,接口状态(Interface Statistics)等
netstat -a 列举出所有的网络连接
netstat -at/-au 只列举出tcp或udp
netstat -atln 显示绑定的ip地址
netstat -atlnp 并显示进程号
netstat -s 打印统计数据,显示每个协议使用的情况
netstat -ts/netstat -us t代表TCP,u代表UDP
netstat -ie 等价于ifconfig
telnet 检测TCP服务是否能够正常使用
检测tcp相应端口号是否可以正常使用
telnet 127.0.0.1 8888(万能的客户端)
tcpdump(当你的Linux无法使用图形化界面的时候使用)
tcpdump(dump the traffic on a network),根据使用者的定义对网络上的数据包进行截获的包分析工具。是Linux非常方便抓取数据包的原生工具。
例子:
需要管理员权限运行。
常用参数:
(1)监视指定网络接口的数据包:
sudo tcpdump -i lo
注:如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0
(2)指定过滤数据报的类型
sudo tcpdump tcp -i lo
(3)抓取完成的数据包(抓取数据包是默认的抓取的长度为68B)
sudo tcpdump tcp -i lo -s 0
(4)和wireshark结合起来使用,用tcpdump抓包,用wireshark查看,保存成.cap文件,方便使用ethereal(即wireshark)分析
sudo tcpdump tcp -i lo -s 0 -w ./filename.cap