Linux教程

linux命令之tcpdunp

本文主要是介绍linux命令之tcpdunp,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

TCPDUMP官方文档以及介绍如何使用C/C++实现libpcap抓取网络数据包

网络相关的内容比较多,先将自己用到的记录协一下,以后遇到再增加

什么是tcpdump?为什么使用tcpdump?怎么使用?

1.tcpdump是什么?

tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将通过一个个具体的示例来介绍它在不同场景下的使用方法。

tcpdump命令最初设计用于观察TCP/IP性能问题,它是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and, or, not等逻辑语句来帮助用户去掉无用的信息。

2.为什么使用tcpdump?

在嵌入式设备开发,或者移动设备开发的过程中,设备与设备之间,设备与本地之间的网络通信,设备与远程服务器的通信,可能都会出现网络连通信问。如果在windows上抓包那选择性有很多,设备上是一个微型系统,这时tcpdump就变得实用。

tcpdump是Linux系统抓包工具,tcpdump基于libpcap库,根据使用者的定义对网络上的数据包进行截获,tcpdump可以将网络中传送的数据包中的"头"完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助去掉无用的信息。通过tcpdump可以分析很多网络行为,比如丢包重传、详细报文、tcp分组等,总之通过tcpdunp可以为各种网络问题进行排查,可以在服务器上将捕获的数据包信息以pcap文件保存下来,通过wireshark打开,更直观地分析。

tcpdump是基于libpcap库的,数据包的过滤是基于BPF(tcpdump依附标准的bpf机器来运行,tcpdump过滤规则会被转化为一段bpf指令并加载到内核中的bpf虚拟机器上执行),使用bpf虚拟机的tcpdump完美解决了包过滤问题。总之tcpdump使用libpcap这种链路层旁路处理的形式进行包捕获,使用bpf机制实现对包的完美过滤。

3.怎么使用tcpdump?

网络基本功(十七):细说tcpdump的妙用(上)
网络基本功(十八):细说tcpdump的妙用(下)
tcpdump详解
Linux内核角度分析tcpdump原理(1)
Linux内核角度分析tcpdump原理(2)
这篇关于linux命令之tcpdunp的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!