一篇就弄懂Linux netstat和tcpdump的常见用法

一篇就弄懂Linux netstat和tcpdump的常见用法,第1张

Netstat是一款CLI工具,它可以列出系统上所有的网络连接情况,包括tcp、udp和其他unix网络socket,另外它还能列出处于监听状态的socket。当Linux网络或系统排查问题时,netstat基本上是必用的工具之一,下面开始对netstat的常见用法加以说明。

用途:列出tcp、udp和其他unix套接字下所有的连接,往往信息提供的不够直观和详细,因此也常通过搭配其他参数一起使用。

相信很多用户已经发现,在执行上述命令的时候结果查询的不是很快,这是因为netstat默认会使用反向域名解析,会把对应的IPv4地址解析对应到IPv6或者主机名,如果IP地址信息足够满足需求时,大可以禁用反向域名解析,加上 -n 参数。

如果是查看udp协议下的连接,则用 netstat -nlu 。

常常会遇到如下场景:我们提前预知某服务程序开放某监听端口,于是想查看对应连接的信息,包括进程名、进程ID甚至执行owner信息等,可加入 -p , -e 参数来实现。

netstat -s 可以打印出网络统计数据,包括某个协议下的收发包数量;

netstat -rn 可查看路由信息,效果等同于 route -n ;

netstat -i 或者 netstat -ie 可查看网络接口信息,且后一条命令效果等同于 ifconfig -a ;

用简单的话来定义tcpdump,就是: dump the traffic on a network ,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息,是一个十分常用的Linux抓包工具。

在介绍tcpdump常用命令之前先提一个小建议,每个tcpdump命令的末尾加上 -s 0 -nvvvtttt 参数,简单解释一下参数的含义:

另外还可以结合自己的需要选择要不要加上 -x -xx -X -XX (输出会打印每个包的头部数据,且会以16进制或者ASCII码形式打印每个包的数据)等参数

如下仅简单说明一下上文没提到的用法:

没有将回应包发送到客户端。linux系统中,tcp灌包连接失败的原因是没有将回应包发送到客户端的35425端口,因此客户端认为建立TCP连接失败,表现出现的现象就是连接断线或网络断开等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8922297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存