tcpdump 抓包过程和数据清洗过程

什么是tcpdump

tcpdump:Linux的网络数据采集分析工具
可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

安装

(ubuntu系统上没有tcpdump)

学安装:ubuntu下安装Tcpdump并使用

用apt-get命令安装某个资源出现提示

E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

搜索博客之后用rm -rf命令也无法解锁,后来模仿某些博客中sudo rm -rf命令,用sudo apt-get命令强制安装

在这里插入图片描述

抓包

学抓包:

TCPdump抓包命令详解
TCPdump命令抓包详细分析

抓包笔记摘要:

输出结果

ICE 是一台装有linux的主机。它的MAC地址是0:90:27:58:AF:1A
H219是一台装有Solaris的SUN工作站。它的MAC地址是8:0:20:79:5B:46;

21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ICE. telne t 0:0(0) ack 22535 win 8760 (DF)
22:32:42.802509 eth0 > arp who-has route tell ICE (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
src > dst: flags data-seqno ack window urgent options
route.port1 > ICE.port2: udp lenth

共同部分(从左往右):
xx:xx:xx :时间
847509等数字串:ID号
eth0 <(>)表示从网络接口eth0接收该(发送)分组

不同:

第一行:数据链路层头信息
命令:#tcpdump --e host ICE
输出:
8:0:20:79:5b:46是主机H219的MAC地址, 它表明是从源地址H219发来的分组.
0:90:27:58:af:1a是主机ICE的MAC地址, 表示该分组的目的地址是ICE
ip :该分组是IP分组,60 是分组的长度
h219.33357 > ICE. telnet :该分组是从主机H219的33357端口发往主机ICE的 TELNET(23)端口
ack 22535 :对序列号是222535的包进行响应
win 8760:发送窗口的大小是8760

第二三行:ARP包的tcpdump输出信息
命令: #tcpdump arp
输出:
arp:ARP请求包
who-has route tell ICE:主机ICE请求主机route的MAC地址

第四行:TCP包的输出信息
src > dst:从源地址(src)到目的地址(dst)
flags:TCP报文中的标志信息
data-seqno:报文中的数据 的顺序号
ack:下次期望的顺序号
window:接收缓存的窗口大小
urgent:文中是否有紧急指针
Options:选项

第五行: UDP包的输出信息
表明从主机route的port1端口发出的一个UDP报文到主机ICE的port2端口,类型是UDP, 包的长度是lenth

案例

(1) 想要截获所有210.27.48.1 的主机收到的和发出的所有的分组:
#tcpdump host 210.27.48.1
(2) 想要截获主机210.27.48.1 和主机210.27.48.2或210.27.48.3的通信,使用命令(注意:括号前的反斜杠是必须的):
#tcpdump host 210.27.48.1 and 210.27.48.2or210.27.48.3
(3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
(4) 如果想要获取主机192.168.228.246接收或发出的ssh包,并且不转换主机名使用如下命令:
#tcpdump -nn -n src host 192.168.228.246 and port 22 and tcp
(5) 获取主机192.168.228.246接收或发出的ssh包,并把mac地址也一同显示:
#tcpdump -e src host 192.168.228.246 and port 22 and tcp -n -nn
(6) 过滤的是源主机为192.168.0.1与目的网络为192.168.0.0的报头:
tcpdump src host 192.168.0.1 and dst net 192.168.0.0/24
(7) 过滤源主机物理地址为XXX的报头:
tcpdump ether src 00:50:04:BA:9B and dst……
(为什么ether src后面没有host或者net?物理地址当然不可能有网络喽)。
(8) 过滤源主机192.168.0.1和目的端口不是telnet的报头,并导入到tes.t.txt文件中:
Tcpdump src host 192.168.0.1 and dst port not telnet -l > test.txt
ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。

-nn,直接以 IP 及 Port Number 显示,而非主机名与服务名称。
-i,后面接要「监听」的网络接口,例如 eth0, lo, ppp0 等等的接口。
-e,使用资料连接层 (OSI 第二层) 的 MAC 数据包数据来显示。

在这里插入图片描述

都没写如何停止抓包 :Ctrl+C

数据清洗

什么是清数据清洗

数据清洗:数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。

数据清洗方法:

常用数据清洗方法大盘点

摘要:

数据缺失:

1、删除缺失值:样本基数大,缺失值少,直接丢弃缺失值
2、均值填补法:用均值填补缺失值
3、热卡填补法:用最相似的近似值来填补

异常值判断:

1、简单的统计分析:根据常识初步判断
2、3∂原则:数据正态分布
3、箱型图分析
4、基于模型检测:建立模型拟合
5、基于距离:定义邻近性度量
6、基于密度
7、基于聚类

噪音处理:

噪音:被测量变量的随机误差或方差

1、分箱法:每一个值用特殊值(平均值、中位数、边界值)替换(平滑)
2、回归法:函数拟合

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值