神探tcpdump第六招

2023-10-15 13:10
文章标签 tcpdump 神探 第六招

本文主要是介绍神探tcpdump第六招,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

第六招,仍然会讲解tcpdump的过滤表达式,这次思路很简单,就是直接举例子,其实就是man tcpdump中的例子,很直观,很受用。

    ==

    【例子1】- 我想抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包

tcpdump -i eth0 'host roclinux.cn'

    【例子2】- 我想抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包

tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'

    【例子3】- 我想获取使用ftp端口和ftp数据端口的网络包

tcpdump 'port ftp or ftp-data'

    大家是不是会有一个疑问“这个ftp、ftp-data到底对应哪个端口?除了ftp/ftp-data,还有哪些服务名称我可以直接用呢?”

    嗯,这是个好问题,答案现在揭晓咯。

    在Linux系统中,/etc/services这个文件里面,就存储着所有知名服务和传输层端口的对应关系。这个对应关系是由IANA组织(the Internet Assigned Numbers Authority,互联网数字分配机构)来全权负责的,你可以到这个链接http://www.iana.org/assignments/port-numbers通过Web方式查到。

    如果你直接把/etc/services里的ftp对应的端口值从21改为了8888,那么tcpdump就会去抓端口含有8888的网络包了。

    【例子4】- 我想获取roclinux.cn和baidu.com之间建立TCP三次握手中第一个网络包,即带有SYN标记位的网络包,另外,目的主机不能是qiyi.com

tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not dst host qiyi.com'

    这个语句看着比较复杂,其实如果要把这段解释清楚的确不容易,需要你具备计算机网络专业知识才行。这个我会安排一招来讲。

    【例子5】- 打印IP包长超过576字节的网络包

tcpdump 'ip[2:2] > 576'

    【例子6】- 打印广播包或多播包,同时数据链路层不是通过以太网媒介进行的。

tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

    最后三个例子,或许你看得有些晕头转向,没关系,先有个感官认识,看完接下来的几篇文章后,相信保证你就明白了:)


PS:

Linux tcpdump命令详解

http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

TCP协议疑难杂症全景解析

http://cloudbbs.org/forum.php?mod=viewthread&tid=10144&page=1&extra=#pid52864

转载于:https://my.oschina.net/leejun2005/blog/77477

这篇关于神探tcpdump第六招的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217924

相关文章

网络故障排查和tcpdump抓包

网络故障排查: ping一台服务器不通,你如何排查 检查本机ip地址设置  网关和dns服务器是否设置正确 或者ip地址冲突能否上网 看路由器是否有问题 ping服务器是否运行服务器禁止ping   防火墙设置 iptables -A INPUT -P ICMP -j DROPiptables -D INPUT -P ICMP -j DROP用户不能访问服务器 怎么排查 检查用户网络连接检查服

Linux - Tcpdump命令

一、说明    是一个用于抓取网络数据包并输出的工具,命令格式如下: tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ][ -C file_size ] [ -F expr_file ][ -i interface ] [ -m module ] [ -M secret ][ -r read_file ] [ -s snaplen

通过GRE封装前的IP地址tcpdump抓包

GRE封装IP层数据后导致抓包抓的是GRE的包,直接抓包会很大,所以希望通过里层的IP来抓包。 如下的测试数据包,最外层IP对:172.27.1.66-66.59.109.137,封装了66.59.111.190-172.28.2.3的数据包。此时我们只想抓取66.59.111.190-172.28.2.3这个相关的数据包。 通过对IP层数据的偏移位置来直接匹配数据 找到IP层开始的位置

tcpdump抓取tcp的三次握手

tcpdump抓取tcp的三次握手 先要打开两个终端,打开root权限 输入 telnet www.baidu.com 80 查询一下IP号,然后输入ctrl+] 以及quit退出 administrator@ubuntu:~$ sudo su[sudo] password for administrator: root@ubuntu:/home/administrator#

tcpdump 命令详解

1、抓取回环网口的包:tcpdump -i lo 2、防止包截断:tcpdump -s0 3、以数字显示主机及端口:tcpdump -n 关键字说明  第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是

linux命令详解--tcpdump

http://www.tuicool.com/articles/26nmqy

linux 命令之tcpdump

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来删选去掉无用的信息。 tcpdump选项说明: -A 以ASCII格式打印出所有分组,并将链路层的头最小化-c 在收到指定的数量的分组后,tcpdump就会停止-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参

使用adb将tcpdump的流量导到wireshark

搭建环境 1、下载安 装adb 如果之前电脑里有装Android SDK,那么在 Android SDK 的 Tools 里面有 adb 工具, 将adb配到环境变量里 2、下载安装windows 端 netcat 工具 安装好后配到环境变量里 3、下载安装android 端 netcat 工具(手机要Root) 可以下载 Bu

Linux网络命令——tcpdump

tcpdump是Linux下的一个网络数据采集分析工具,也就是常说的抓包工具 tcpdump 核心参数 tcpdump [option] [proto] [dir] [type] 例如:$ tcpdump -i eth0 -nn -s0 -v port 80 option 可选参数: -i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该

tcpdump 命令对容器内的网络请求抓包的方法

记录一种在不进入容器的情况下对容器进行抓包的方法。 方法介绍 简单来说就是找到容器所用的网卡,然后在 host 机器上对该网卡进行抓包就可以了 :joy 操作示例 找到这个容器使用的网卡: $ PID=$(docker inspect --format {{.State.Pid}} test2)$ nsenter -n -t $PID ip addr1: lo: <LOOPBACK,U