linux utility 介绍2

----------------------------------------
ctags
----------------------------------------
ctags 帮助项目很多。 我们怎样掌握呢?
先看看它的能力。

 [...]ctags --help |grep list
  --languages=[+|-]list
       specified in the comma-separated 'list'. The list can contain any
  --list-kinds=[language|all]
       Output a list of all tag kinds for specified language or all.
  --list-languages
       Output list of supported languages.
  --list-maps=[language|all]
       Output list of language mappings.

   依次敲击一下,ctags --list-languages, ctags --list-maps, ctags --list-kinds
   你就对languages, maps, kinds 有了理解。
    然后敲击: ctags --list-kinkds=c, 看看c 语言的kinds.

[...]$ ctags --help |grep kinds
  --<LANG>-kinds=[+|-]kinds
       Enable/disable tag kinds for language <LANG>.
  --list-kinds=[language|all]
       Output a list of all tag kinds for specified language or all.

    敲击: ctags --list-kinkds=c, 看看c 语言的kinds.
    我们看到: p  function prototypes [off]
    就是说,原型prototypes 是关闭的。
    怎样打开,用下面命令:用 --c-kinds=+p 选项

应用:

ctags 把idc 解释为c++ 文件

$ ctags --langmap=c++:+.idc --list-maps=c++
C++      *.c++ *.cc *.cp *.cpp *.cxx *.h *.h++ *.hh *.hp *.hpp *.hxx *.C *.H *.idc

这个选项 --langmap=c++:+.idc 把*.idc 添加到 c++ map 中.

要求ctags记录c++文件中的函数声明
$ ctags --c++-kinds=+p -R

----------------------------------------

nmap:
----------------------------------------
0. 全面进攻性扫描:
包括:主机发现,端口扫描,版本扫描,os扫描及脚本扫描
nmap -A -v targetIPs

1. ping 扫描
nmap -sn -v targetIPs

2. 快速端口扫描
nmap -F -v targetIPs

3. 版本扫描
nmap -sV -v targetIPs

4. 操作系统扫描
nmap -O -v targetIPs

nmap localhost


targetIPs 可以指定ip 范围: 例如: 192.168.11.0-255
ports 可以指定范围: 例如:

主机发现: 默认发送4种探测包:
a.icmp echo 请求包
b.tcp sync 包到 443
c. tcp ack 包到 80
d. icmp timestamp 请求包

-sn 则只进行主机发现,不进行端口扫描

端口状态:
1. opened. syn/ack
2. closed. syn/rst, fin/rst, udp/icmp port unreachable
3. filterd.     ack/...
4. unfilterd    ack/rst
5. oopened|filterd.     fin/..., udp/...
6. closed|filterd
扫描方式: -sS, -sF, -sU

----------------------------------------
lsof 简单用法
----------------------------------------
lsof -h 哇,好复杂. 当参考书吧
lsof 列出所有,如果嫌慢,加参数吧。
lsof -c cmd     // 查询莫命令打开的文件
lsof -p 919     // 查询莫进程打开的文件
lsof -i tcp:port // 查询端口被谁占用
lsof . 或者 lsof `pwd`或者 lsof |grep `pwd` // 查询谁占用当前目录
lsof +D . 递归列出本目录下所有文件被使用情况
lsof 文件名  // 查询文件被谁占用

#watch -n 2 -d free
-n选项 设置显示间隔
-d选项,让命令将每次不同的地方显示出来
循环运行free 命令, 监控变化。

vmstat 1
显示内存,cpu 占用情况, 1 是设置的时间间隔

netstat -anp |grep port
需要root 权限显示PID/program name
然后用ps -ef |grep PID 找到进程信息

socat:
socat UDP:127.0.0.1:8000 -
监听 udp 协议, 127.0.0.1:8000 端口,将内容显示到控制台上


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值