网络分析命令

netstat/tcpdump

Posted by Jay on September 8, 2019

网络分析命令

tcpdump

参考:https://blog.csdn.net/hzhsan/article/details/43445787

// 抓取回环网口的包
tcpdump -i lo

// 以数字显示主机及端口
tcpdump -n -i en0

// 只抓eth0上每个包的前80个字节,并把结果保存到/tmp/tcpdump.cap
tcpdump -i eth0 -s 80 -w /tmp/tcpdump.cap

// 监听en0网卡,过滤目的端口或源端口为80的包,输出详细的协议头和数据,抓取3个包,
tcpdump –i en0 ‘port 80’ -X -c 3

// 监听en0网卡,过滤目的端口或源端口为80的包,输出变为“行缓冲”方式,tcpdump遇到的内容一旦是换行符即将缓冲的内容输出到标准输出,以便于利用管道或重定向方式来进行后续处理.
tcpdump -i en0 'port 80' -l | awk '{print $1}'

// 监听en0网卡,过滤目的端口或源端口为80的包,抓取3个包,-w保存到指定的二进制文件
tcpdump -i en0 'port 80' -c 3 -w cp.pcap
// 监听en0网卡,过滤目的端口或源端口为80的包,抓取3个包,-r从指定的二进制文件读取抓到的数据
tcpdump -i en0 'port 80' -c 3 -r cp.pcap

// -e输出mac地址,-nn不把网络地址转换成名字,-XX显示报文的详细信息
tcpdump -i en0  -e -nn -X -c 3 'port 80'

过滤表达式
// 只想查目标机器端口是21或80的网络包
tcpdump -i eth0 -c 10 'dst port 21 or dst port 80'
// 想要截获主机172.16.0.11 和主机210.45.123.249或 210.45.123.248的通信,使用命令(注意括号的使用)
tcpdump -i eth0 -c 3 'host 172.16.0.11 and (210.45.123.249 or210.45.123.248)'
// 想要获取主机172.16.0.11除了和主机210.45.123.249之外所有主机通信的ip包
tcpdump ip ‘host 172.16.0.11 and ! 210.45.123.249’
// 抓172.16.0.11的80端口和110和25以外的其他端口的包
tcpdump -i eth0 ‘host 172.16.0.11 and! port 80 and ! port 25 and ! port 110’

// 获取172.16.131.19和google.com之间建立TCP三次握手中带有SYN标记位的网络包.
tcpdump -i eth0 'host 172.16.131.19 and host google.com and tcp[tcpflags]&tcp-syn!=0' -c 3 -nn

netstat

参考https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

1.列出所有端口 (包括监听和未监听的)
// 列出所有端口 netstat -a
netstat -a | more
// 列出所有 tcp 端口 netstat -at
netstat -at
// 列出所有 udp 端口 netstat -au
netstat -au
2.列出所有处于监听状态的 Sockets
// 只显示监听端口 netstat -l
netstat -l
// 只列出所有监听 tcp 端口 netstat -lt
netstat -lt
// 只列出所有监听 udp 端口 netstat -lu
netstat -lu
// 只列出所有监听 UNIX 端口 netstat -lx
netstat -lx
3.显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
显示 TCP 或 UDP 端口的统计信息 netstat -st-su
4.在 netstat 输出中显示 PID 和进程名称 netstat -p
5.持续输出 netstat 信息
netstat -ant -c 2  每隔2s输出信息
6.显示核心路由信息 netstat -r
7.找出程序运行的端口
netstat -ap | grep 程序名
 找出运行在指定端口的进程
 netstat -an | grep ':80'
8.显示网络接口列表
netstat -i
9.显示网络接口列表
netstat -i 
netstat -ie
10.TCP/IP分析
- TCP各种状态列表
netstat -ant |awk '{print $6}'|sort|uniq -c|sort -rn