【2018深信服 醒狮计划】《网络协议》学习笔记

2018深信服“醒狮计划”笔记

第3周(5.07-5.13)

课程 必修 选修 基本要求
网络基础 TCP/IP模型,协议特点 《策略路由,Netfilter,iptables 开发知识培训讲义》 TCP、UDP、ARP、NAT、网关、网桥、VLAN、路由、抓包工具tcpdump/winshark

第一部分 Wireshark的使用

1. Wireshark安装

Ubuntu 16.04下安装网络流量分析工具 Wireshark 的方法

sudo apt-add-repository ppa:wireshark-dev/stable

sudo apt-get update

sudo apt-get install wireshark

这里写图片描述

如果没有弹出上面窗口,就运行下面命令行

sudo dpkg-reconfigure wireshark-common

如果想要使用命令行版本时,需要安装tshark

sudo apt-get install tshark

命令行抓取特定网卡和端口的包,

sudo tshark -i eth0 port 8080

现在是不成功的,需要先进行下面步骤,把权限先设置好

2. 权限/用户组设置

GUI:普通用户不能够打开网卡设备进行抓包,Wireshark不建议用户通过sudo在root权限下运行

这里写图片描述

解决方法

sudo vim /etc/group

“wireshark:x:130:”后面输入当前登录的用户名,我这里为“luojie”。提示:按i为插入,然后输入用户名,按esc,然后输入“:wq”进行保存。完成以上步骤之后,需要注销后重新登录来使设置生效,再次打开即可。

这里写图片描述

重启之后就能正常使用

这里写图片描述

3. 打开

键入wireshark就可以打开

wireshark

这里写图片描述

每次键入的话很不方便,所以可以右键图标,lock from Launcher就可以固定在桌面上了

这里写图片描述

4. Wireshark基本用法

Wireshark会捕捉系统发送和接收的每一个报文。如果抓取的接口是无线并且选项选取的是混合模式,那么也会看到网络上其他报文。

这里写图片描述

TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK,第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始。
如果你找不到第一个SYN报文,选择Display Filter,输入过滤条件tcp.flags.syn==1,回车,显示的就是筛选之后的内容了。

这里写图片描述

因为学校限流量20G完全不够用,穷逼没钱上网,所以我的电脑配置了shadowsocks+ipv6来进行(免流量上网+同时还自带梯子),所以截图里面的数据包都走的是本地ip,外部走的都是ipv6

第二部分 tcpdump的使用

0_0 不小心看岔了,Linux原来不用看wireshark…..

1. tcpdump -D 获取网络适配器列表

tcpdump -D

这里写图片描述

2. 抓取所有数据

sudo tcpdump -i <需要监控的网络适配器编号>

sudo tcpdump -i any

这里写图片描述

tcpdump详细命令

参数 命令
-i 参数指定监听网口
-c 参数指定监听的数据包数量
-s 参数指定监听数据包大小
-w 参数指定监听数据包写入文件

如果要监听某几台主机数据包 例如10.10.10.1020.20.20.2030.30.30.30

tcpdump host 10.10.10.10 and \(20.20.20.20 or 30.30.30.30\)

试一下抓取一下网页数据包,就拿

CSDN试一下 IP是47.95.47.253

这里写图片描述

开始监听

sudo tcpdump host 47.95.47.253

这里写图片描述

刷新一下页面

这里写图片描述


如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

tcpdump ip host 210.27.48.1 and ! 210.27.48.2

如果获取10.10.10.10:80发出去的数据包

tcpdump -i eth0 src host 10.10.10.10 and src port 80

如果获取发往10.10.10.10:80的数据包

tcpdump -i eth0 dst host 10.10.10.10 and dst port 80

只抓取syn

tcpdump -i eth0 tcp[13]==2

只抓取fin

tcpdump -i eth2 tcp[13]==1

只抓取synack

tcpdump -i eth2 tcp[13]==18

抓取10.10.10.10:80synsynack

tcpdump -i eth2 tcp[13]==2 or tcp[13]==18 and port 80 and host 10.10.10.10

猜你喜欢

转载自blog.csdn.net/luojie140/article/details/80230189
今日推荐