tcpdump移植和使用
tcpdump移植和使用
[摘要]:本文主要讲解了tcpdump相关概念和主要参数的使用,并通过事例来讲解tcpdump的用法,最后讲解如何将其移植到嵌入式开发环境,使其在嵌入式主控板中发挥其强大功能。
一. tcpdump概念
tcpdump就是dump the traffic on a network,根据使用者的定义对网络上截获的数据包进行分析的工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。其下载地址为:http://www.tcpdump.org/
二.tcpdump相关参数
tcpdump参数分为以下几类:
1.按照关于类型的关键字,主要包括host,net,port。
2.确定传输方向的关键字,主要包含src,dst,dst or src, dst and src。这些关键字指明了传输的方向。
3.关于协议的关键字,主要包括fddi,ip,arp,tcp,udp等类型。
除了这三种类型的关键字之外,其他重要的关键字如下:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是’not’,’|’,与运算是’and’,’&&’,或运算是’or’,’ ||’;这些关键字可以组合起来。
三实例
1.使用如下命令,默认启动。一般情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
#tcpdump
2.监视指定网络接口上的数据包
#tcpdump -i eth0
note:
(1)使用-i可以指定tcpdump监听的网络接口。
(2)使用-c参数指定要监听的数据包流量。
(3)使用-w参数指定将监听到的数据写入文件中保存。
3.监视指定主机的数据包
(1)打印所有进入或离开主机jibo的数据包
#tcpdump hostjibo
(2)监听jibo与tiger或者与john之间通信的数据包
#tcpdump host jibo and \(tiger or john\)
(3)监听主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信
#tcpdumphost 210.27.46.1 and \(210.27.48.2 or210.27.48.3\)
(4)监听tiger与任何其他主机通信的IP数据包,但不包括与jibo之间的数据包
#tcpdump ip hosttiger and not jibo
(5)监听主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
(6)监听主机jibo发送的所有数据
#tcpdump -i eth0src host jibo
(7)监听所有发送到主机jibo的数据包
#tcpdump -i eth0 dst host jibo
3.监听指定主机和端口的数据包
(1)监听主机210.27.481.接收或发送出去的telnet包,
#tcpdump tcp port 23 host 210.27.48.1
(2)监听本机udp 123端口进行监视123为ftp的服务端口
#tcpdump udp port123
四.tcpdump移植
1.编译安装libcap-1.4.0
(1)解压并进入libcap-1.4.0目录,打开configure,将下面的代码注释掉
if test –z “$with_pcap” && test “$cross_compile” =yes; then { { echo “$as_me:$LINENO:error: pcap type not determined when cross-compiling; use –with-pcap = …” > &5 echo “$as_me: error:pcap type not determined when cross-compile:use – with-pcap= …” > &2;} fi |
(2)运行./configure–host =arm-none-linux-gnueabi
#./configure --host =arm-none-linux-gnueabi
注:此处嵌入式环境平台使用的时arm-none-linux-gnueabi交叉链,如果你使用的时其他的交叉编译链则改为自己的即可。
(3)配置完成后,配置之后,会生成Makefile。打开Makefile发现CC=arm-none-gnueabi,说明交叉编译配置成功。
(4)执行make命令进行编译
#make
(5)执行makeinstall命令进行安装。执行成功后会在/usr/local/include目下有3个pcap文件,表明libpcap编译安装成功。
#sudo makeinstall
Note:
如果,使用sudo make install编译时提示找不到交叉编译链找不到。则用su命令切到root用户,然后使用source命令,激活交叉编译链变量。
2.编译安装tcpdump-4.4.0
(1)进入tcpdump目录,修改configure,将下面的代码注释掉
#vim configure
# if test $ac_cv_linux_vers = unknown; then # as_fn_error $? “cannot determine linux version when cross-compiling”“$LINENO” 5 # fi |
(2)运行configure命令生成makefile
#./configure --host =arm-none-linux-gnueabi
(3)打开生成的Makefile,修改以下编译选项
INCLS= -I. -I./../libpcap-1.4.0 -I./missing -I/usr/local/include DEFS= -DHAVE_CONFIG_H -I/usr/local/include -I./missing -D_U=”__attribute__((unused))” LDFLAGS= -L/usr/local/lib |
(4)执行make命令进行编译
#make
Note:
在进行编译时候,如果提示无法找到libpcap.a,是由于libpcap的目录名要和Makefile中LIBS = ./../libcap-1.4.0/libpcap.a中libcap-1.4.0一致。
(5)执行makeinstall命令进行安装。执行成功后会在/usr/local/sbin/目录下有一个tcpdump的二进制文件,该文件就是交叉编译成功的tcpdump。
#sudo makeinstall
(6)使用以下命令减少生成可执行文件的大小
#arm-none-linux-genueabi-striptcpdump
转载于:https://blog.51cto.com/tigerjibo/1297329
相关文章:

在ASP.NET中自动给URL地址加上超链接
作为一个程序员,在完成设计后还要根据程序的情况以及用户的反映不断对程序进行改进,这样才能不断地完善自己的作品。我在制作完软件商务网 http://www.bizsofts.com 的论坛后,发现人们总喜欢在帖子中加上各种有用的URL链接或Email地址。而我当…

释放联接新价值,华为提出“1+N”5G目标网,推动运营商构筑四大数字化转型的核心能力
近日,在MWCS 2021 媒体分析师预沟通会上,华为常务董事、运营商BG总裁丁耘发表了主题为《点亮未来,释放联接新价值》的主题演讲,提出华为将立足联接,通过持续的技术与商业创新,为客户创造价值,为…

光伏电价断崖式下跌 企业遭遇成长烦恼
在弃光限电严重、补贴欠发(三年缺口将达600亿元)、用地问题突显的情况之下,近日,2017年光伏上网电价将酝酿下调近三成,新“四座大山”将蚕食新能源企业的利润。 协合新能源 在香港上市的协合新能源却在不利情况下逆势扩张,营收从2…

asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -pc "hnlaw" -exp 其中"hnlaw"为密钥名…
机器学习 KNN算法实践
作者 | 叶庭云来源 | 修炼Python头图 | 下载于视觉中国KNN算法简介KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中常用算法之一,其指导思想是"近朱者赤,近墨者黑"&…

【生活随想】实习结束以及开始校园招聘
我发现很多时候我处理事情的思维是局限的!就拿前几天辞职的事情来说吧,我原打算直接向公司辞职,但后来听同学说“还是先试着向公司请假比较好”,不用细想也是,如果公司同意我请假,我还能给自己留一条后路&a…

《21世纪机器人》一一第1章 他用自己的思想打造机器人
第1章 他用自己的思想打造机器人 我在前面说过,这本书的结尾是吉米站在后台,准备闪亮登场,这是他的首次亮相。当我把吉米的这张照片发给我太太时,她很快回复:“这真的是用你的思想打造出的机器人!ÿ…
牛年快乐~新一年从甜蜜的烘焙里学AI
作者 | 神经小兮来源 | HyperAI超神经头图 | 下载于视觉中国经过数千年的积累,人类已经开发出了各色美味,但我们的味蕾却永远不知满足。谷歌一位 AI 开发者,为了探索新的可能,用 AI 来开发新的甜点食谱。AI 在菜谱开发这一领域&am…

Datalist控件,Repeater控件如何分页?
Asp.net提供了三个功能强大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分页功能。相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,所以很多时候我们喜欢使用DataList或Repeater控件来显…

java List集合中contains方法总是返回false
ArrayList的contains方法 java 今天在用ArrayList类的caontains方法是遇到了问题,我写了一个存放User类的ArrayList 但在调用list.contains(user)时总是返回false。 去看了下ArrayList的源码,源码如下: Java代码 public boolean contains…

营销自动化的4大预测分析错误
预测分析是数字营销的新领域。许多专家已经讨论了将预测分析与营销自动化工具(如HubSpot和Marketo)合并的好处。 将预测分析整合到用户的营销自动化策略中可能非常有益,但也很难执行。以下是可能会阻止其实施的一些常见的错误: 1.…

Prolog学习:数独和八皇后问题
上一篇简单介绍了下Prolog的一些基本概念,今天我们来利用这些基本概念解决两个问题:数独和八皇后问题。 数独 数独是一个很经典的游戏: 玩家需要根据nn盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列…
每年节省170万美元的文档预览费用,借助机器学习的DropBox有多强?
【CSDN 编者按】Dropbox 借助机器学习的预测功能,每年能为公司节省了一百多七十多万美元的基础架构成本。非常了不起的成就。本文,一起来看一看 Dropbox 采用机器学习的经过,以及分析一下其中的利弊。译者 | 弯月 责编 | 张文出品 | CSDN&a…

asp.net 对xml文件的读写,添加,修改,删除操作
asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using…

阿里重金投数梦工场 布局PaaS动了谁的奶酪
就目前云计算市场来看,巨头的争夺表面上还在IaaS激战,但实际上他们对PaaS也在默默布局。6月8日,PaaS相关服务商数梦工场宣布完成光大实业资本、阿里巴巴等公司共同投资的7.5亿元A轮融资。值得注意的是,阿里巴巴是几位投资方中唯一…

ASP.net中太长的数据缩略显示
问题:用<%# DataBinder.Eval(Container.DataItem,"NewsID")%>显示数据的,如果标题太长了怎么规定字数,多余的用"..."代替解决方法: 1.使用后台代码解决: cs文件代码:…
再见 for 循环!pandas 提速 315 倍~
for是所有编程语言的基础语法,初学者为了快速实现功能,依懒性较强。但如果从运算时间性能上考虑可能不是特别好的选择。本次东哥介绍几个常见的提速方法,一个比一个快,了解pandas本质,才能知道如何提速。下面是一个例子…

UVa 374 - Big Mod
题目大意:计算R BP mod M,根据模运算的性质计算。 正常计算会超时,可以用分治的思想降低时间复杂度。不过如果遇到00,结果...话说00的结果是1吗?忘了都... 1 #include <cstdio>2 3 int powMod(int base, int ex…

微软在慕尼黑设立欧洲首个物联网实验室
北京时间3月30日晚间消息,微软今日在慕尼黑设立了其在欧洲的首个物联网实验室。在此之前,微软已经在雷德蒙(Redmond)总部和中国深圳设立了物联网实验室。 慕尼黑是德国许多知名大企业的故乡,如宝马和西门子等。在此之前,思科和IBM…

linux的strace命令
linux的strace命令 strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . …
明年,我要用 AI 给全村写对联
作者 | 神经小兮来源 | HyperAI超神经春节已经过完,你是否还沉浸在年味里?到腊月二十九、三十,家家户户贴上了 红红的春联,春节就正式拉开了序幕。春联也称为「对联」、「门对」、「楹联」,是汉语所独有的一种艺术形式…

C++实现int与string之间的相互转换
2019独角兽企业重金招聘Python工程师标准>>> c 利用stringstream实现int与string类型的相互转换,记录在此,以备后用 #include<iostream> #include<sstream> #include<string>using namespace std;string add_int(const st…

逆变器的技术创新 让光伏电站更具发展前景
曾几何时,光伏发电因为光照强度和温度的变化,逆变器输出功率波动大,对电网产生冲击,而被称为垃圾电而受到限制。随着技术的进步,光伏逆变器完善了多种保护功能,增加了低(零)电压穿越…

8个免费实用的C++GUI库
C标准中并没有包含GUI,这也使得C开发图形化界面需要依赖于第三方的库。实际上,图形界面恰恰是C的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都是C擅长的地方。C之所以能做到这一点,原因在于…

.Net2.0 使用ConfigurationManager读写配置文件
.net1.1中如果需要灵活的操作和读写配置文件并不是十分方便,一般都会在项目中封装一个配置文件管理类来进行读写操作。而在.net2.0中使用ConfigurationManager 和WebConfigurationManager 类可以很好的管理配置文件,ConfigurationManager类在System.Conf…
举个例子,如何用GCN图卷积神经网络实现摔倒监测?
作者 | 李秋键责编 | 寇雪芹头图 | 下载于视觉中国引言近几年来深度学习的发展越来越火热,其中最为典型的就是半监督学习的新研究进展GCN。由Kipf和Welling提出的GCN被证明是一种有效的图半监督学习框架应用,如社会、医疗、商业和交通网络分析࿰…

数据中心节能大法 —— 尽在上海11月中国数据中心展
根据调研机构451Research的预测,全球数据中心托管市场2018年的市场规模将达到332亿美元。据悉,2015年我国数据中心节能改造规模已达30亿元左右,数据中心节能市场的空间是非常大的,在未来有望达到85亿元的市场空间。 根据调研机构4…

古怪的ConfigurationManager类
开始使用VS 2005,习惯性的使用ConfigurationSettings类来读取应用程序配置文件的信息时,却被编译器提示说:警告 1 “System.Configuration.ConfigurationSettings.AppSettings”已过时:“This method is obsolete, it has been replaced by …

最常用的css选择器及兼容性 +几个好用却不多见的 nth-child等
你也许已经掌握了id、class、后台选择器这些基本的css选择器。但这远远不是css的全部。下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器兼容性问题。掌握了它们,才能真正领略css的巨大灵活性。 1. * * { margin: 0; paddin…
对比四种爬虫定位元素方法,你更爱哪个?
作者 | 陈熹来源 | 早起Python头图 | 下载于视觉中国在使用Python本爬虫采集数据时,一个很重要的操作就是如何从请求到的网页中提取数据,而正确定位想要的数据又是第一步操作。本文将对比几种 Python 爬虫中比较常用的定位网页元素的方式供大家学习&…