以太网抓包的基础知识

【1】以太网
【2】网卡工作模式
【3】Tcpdump 的用法

【1】以太网

路由器:(Router)是连接因特网中各局域网、广域网的设备。在路由器中记录着路由表,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。发生在网络层。 
交换机:(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路,把传输的信息送到符合要求的相应路由上。发生在数据链路层。 
集线器:(Hub)是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。发生在物理层。

【2】网卡工作模式

#主要模式(mode)有:master  managed  monitor ad-hoc  
#master模式即常见的AP模式,无线模块本身作为WIFI热点,让其它设备以无线的方式接入构建LAN/WAN 。无线路由器的工作模式就是master 。(在Linux系统中,无线AP的接入和授权主要采用开源项目hostapd来实现)
#managed又称sta,我理解为客户端模式client。在此模式下,无线网卡是作为客户端接入WIFI网络。比如笔记本的无线网卡就是工作在此模式下。Linux client station的接入由开源项目wpa_supplicant来实现。
#ad-hoc 点对点模式,类似于zigbee的自组网概念。如果WIFI要自动组网,就需要设置为该模式。
#monitor侦听模式,即网卡的混杂模式,在此模式下,网卡不过滤任何可以收到的数据包。

#mii-tools 并不能正确识别超过100M 的网卡,ethtool 工具就是专门替代mii-tools 的,它可以修改大带宽的网络接口双工模式 等信息。
apt install ethtool
# ethtool eth0    # 查看eth0网卡的工作模式以及相关信息。
# ethtool -i eth0      # 查看eth0网口的硬件信息,驱动型号版本等。
# ethtool -a eth0        # 查看eth0网口的自协商信息
# ethtool -A eth0 autoneg off  # 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或停用off 
# ethtool -d eth0       # 显示register dump信息, 部分网卡驱动不支持该选项 
# ethtool -p eth0 1     # 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。
# ethtool -r eth0       # 如果auto-negotiation模块的状态为on,则restarts auto-negotiation 
# ethtool -S eth0       # 查看eth0网口的收发包统计,以及错误包,丢包率,广播包等统计信息。
# ethtool -t eth0 online|offline   # 让网口进行自我检测,offline为断线检测,网络会中断两秒。
# ethtool -s eth0 *** **   # 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等

#查看无线网卡工作模式
	iwconfig
#将无线网卡工作模式切换为监听模式
	ifconfig eth0 down
	iwconfig eth0 mode monitor
	ifconfig eth0 up

【3】Tcpdump 的用法

 tcpdump [-nn] [-i 网卡] [-w 储存档名] [-c 次数] [-Ae][-qX] [-r 档案] [所欲撷取的资料内容]
参数:
-nn:直接以 IP 及 port number 显示,而非主机名与服务名称
-i :后面接要『监听』的网卡名称,例如 eth0, lo, ppp0 等等的网卡;
-w :如果你要将监听所得的封包资料储存下来,用这个参数就对了!后面接档名
-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听,直到使用者输入 [ctrl]-c 为止。
-A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料。
-e :使用资料连接层 (OSI 第二层) 的 MAC 封包资料来显示;
-q :仅列出较为简短的封包资讯,每一行的内容比较精简
-X :可以列出十六进位 (hex) 以及 ASCII 的封包内容,对于监听封包内容很有用
-r :从后面接的档案将封包资料读出来。那个『档案』是已经存在的档案,并且这个『档案』是由 -w 所製作出来的。
所欲撷取的资料内容:我们可以专门针对某些通讯协定或者是 IP 来源进行封包撷取,
     那就可以简化输出的结果,并取得最有用的资讯。常见的表示方法有:
     'host foo', 'host 127.0.0.1' :针对单部主机来进行封包撷取
     'net 192.168' :针对某个网域来进行封包的撷取;
     'src host 127.0.0.1' 'dst net 192.168':同时加上来源(src)或目标(dst)限制
     'tcp port 21':还可以针对通讯协定侦测,如 tcp, udp, arp, ether 等
     还可以利用 and 与 or 来进行封包资料的整合显示。
    原文作者:shuangmu9768
    原文地址: https://blog.csdn.net/shuangmu9768/article/details/108399177
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞