Linux系统网络监测工具
1. tcpdump
学习视频
初识:《kali linux渗透测试》第三十一课.使用TcpDump分析网络流量
https://www.bilibili.com/video/BV1uQ4y1K7SS/
入门:Tcpdump命令行网络抓包工具 介绍 LinuxCast IT播客
https://www.bilibili.com/video/BV1pJ411d7tJ/
详细:TCPDUMP-抓包、筛选、高级筛选
https://www.bilibili.com/video/BV17J411t7BW/
文章:《Linux高性能服务器编程》游双 著 第17章
Ctrl+c 结束监听
tcpdump
默认监听eth0(网卡)
tcpdump -D
显示当前主机上有哪些网卡
tcpdump -i eth0
指定只抓取某个网卡上的流量
i 用来指定要监听的网卡
tcpdump -v -i eth0
显示更详细的数据
v 表示以verbose mode显示,v越多 信息越详细
tcpdump -n -v -i eth0
n 使用IP地址表示主机,而不是主机名
tcpdump -n -v -i eth0 -w fileName.pcap
w 表示要将捕获到的数据保存到文件中(将监听到的数据保存下来)
文件可以用tcpdump / wireshark查看
tcpdump -n -v -i eth0 -s 0 -w fileName.pcap
默认抓取68字节(4.0之后默认是65535字节)
-s 设置抓包时的抓取长度
-s 0 :有多长抓多长
tcpdump -n -v -i eth0 port 22 -s 0 -w fileName.pcap
设置抓取哪个端口的数据
tcpdump -r fileName.pcap
读取抓包文件
抓包时的各种参数,读包都可以使用
tcpdump -n -v -i eth0 tcp port 22 -s 0 -w fileName.pcap
抓tcp包
tcp udp ip icmp
tcpdump -n -v -i eth0 tcp port 22 -s 0 -w fileName.pcap
and src host IP/域名 port 22
and dst host IP/域名 port 80
and awk `( print $3 )`
and sort -u
and &&、or || not ! 逻辑操作符,来组合出更复杂的表达式
sort -u 去除重复项
tcpdump -A -n `tcp[13] & 2 != 0` -r fileName.pcap
仅抓取同步报文
-A 以ASCII形式显示
-x 以16进制显示
-X 以16进制+ASCII形式显示
2. netstat
$ netstat
○ 参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-p 显示建立相关链接的程序名
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
robin@OS:~$ netstat -apn|grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 1401/server
robin@OS:~$ netstat -apn|grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 1401/server
tcp 0 0 127.0.0.1:37030 127.0.0.1:9999 ESTABLISHED 1422/client
tcp 0 0 127.0.0.1:9999 127.0.0.1:37030 ESTABLISHED 1401/server
robin@OS:~$ netstat -apn|grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 1 0 127.0.0.1:37030 127.0.0.1:9999 CLOSE_WAIT 1422/client
tcp 0 0 127.0.0.1:9999 127.0.0.1:37030 FIN_WAIT2 -
robin@OS:~$ netstat -apn|grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:9999 127.0.0.1:37030 TIME_WAIT -