语法范例:

tcpdump -vv -i ens3 '((tcp)&&(host 183.239.240.48)&&(port 3001))'  -c 100 -w 12.cap

-i表示指定网络设备

后面的字串是规则,规则通常这么拼接:

非 : ! or "not"
且 : && or "and"
或 : || or "or"

规则语句有这些:

协议类:

arp,ip,tcp,udp,icmp

地址类:

host:源或目标ip

dst host:目标ip

src host:源ip

port:源或目标端口.(有dst host  , src host,含义同上)

net:指定网络.(也有dst net ,src net)

按照包长:

less 100 表示少于100

greater 100 表示大于100

高级过滤:

根据ip包头:

ip[0]>5

从IP包头取包大小(2bytes),判断:

ip[2:2]>600

tcp包头也能取大小:

tcp[0:2]

拦截HTTP(并不一定能成功,因为头长度不固定):

0x4745 为"GET"前两个字母"GE"

0x4854 为"HTTP"前两个字母"HT"

tcp[20:2]=0x4745 or tcp[20:2]=0x4854

==============================================

可以通过-c参数指定抓多少个包,然后用"-w"放到文本文件

参考文章:

https://www.wains.be/pub/networking/tcpdump_advanced_filters.txt (中文翻译:http://www.veryarm.com/1751.html#12)

http://packetpushers.net/masterclass-tcpdump-expressions/

https://www.hugeserver.com/kb/install-use-tcpdump-capture-packets/

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

使用tcpdump拦截linux服务端网络数据的更多相关文章

  1. linux服务端的网络编程

    常见的Linux服务端的开发模型有多进程.多线程和IO复用,即select.poll和epoll三种方式,其中现在广泛使用的IO模型主要epoll,关于该模型的性能相较于select和poll要好不少 ...

  2. Linux 中的网络数据包捕获

    Linux 中的网络数据包捕获 Ashish Chaurasia, 工程师 简介: 本教程介绍了捕获和操纵数据包的不同机制.安全应用程序,如 VPN.防火墙和嗅探器,以及网络应用程序,如路由程序,都依 ...

  3. Android利用tcpdump和wireshark抓取网络数据包

    Android利用tcpdump和wireshark抓取网络数据包 主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次 ...

  4. 随手写了一个linux服务端与window客户端的epoll程序,当做练习把。

    linux服务端:监听链接,处理消息 #include <sys/socket.h>     #include <sys/epoll.h>     #include <n ...

  5. Diango之通过form表单向服务端发送数据

    通过form表单向服务端发送数据 表单元素 表单:form></form>表单用于向服务器传输数据.另外一种向服务端传输数据的方式为ajax. form属性: action:提交表单 ...

  6. 客户端通过HTTP协议与服务端交换数据

        客户端(包括浏览器)通过HTTP协议与服务端交换数据的描述 发起请求 header 键值对中的key大小写不敏感 Accept: application/json Content-Type: ...

  7. 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据

    这块还是挺复杂的,挺难理解,但是多练几遍,多看看研究研究其实也就那样,就是一个Selector轮询的过程,这里想要双向通信,客户端和服务端都需要一个Selector,并一直轮询, 直接贴代码: Ser ...

  8. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader;import java.io.IOException;impo ...

  9. 使用rsync在linux(客户端)拉取windows(服务端)数据

    windows 服务端ip:172.18.18.70 Linux客服端ip: 172.18.54.11 1.windows服务端下载cwRsync Server , 地址:https://www.ba ...

随机推荐

  1. this--java基础---this到底指的是谁??

    Java基础---this关键字 之前再网上看过很多博客,各种对this关键字的解释,但是说的很模糊,看完跟看书差不多,还是不懂,直到看到大神的博客--(孤傲苍狼),豁然醒悟.this原来是这样用的, ...

  2. SQL用法笔记

    1.更改当前记录以外的数据的xh自动加1(MySQL字段为int) String sql = "UPDATE t_readtext as tr SET xh = xh +1\n" ...

  3. Win10家庭版重命名Administrator用户文件夹

    需要将Windows系统默认的Administrator帐号文件夹改名为我们自定义的名称.. 但是Win10家庭版找不到组策略gpedit.msc 根据微软官方有关Win10各版本操作系统中对于组策略 ...

  4. yii2 无法显示debug条的问题解决方法

    显示debug条需要设置三个地方 一.web/index.php defined('YII_ENV') or define('YII_ENV', 'dev');//设置为开发者模式 二.config/ ...

  5. Springmvc+mybatis的定时器配置文件spring-quartz.xml

    <!-- 定时器配置文件---.xml 一个cron表达式有至少6个(也可能是7个)由空格分隔的时间元素.从左至右,这些元素的定义如下: 1.秒(0–59) 2.分钟(0–59) 3.小时(0– ...

  6. Maven详解(五)------ 坐标的概念以及依赖管理

    我们知道maven能帮我们管理jar包,那么它是怎么管理的呢?这篇博客我们来详细介绍. 1.什么是坐标? ①.数学中的坐标 在平面上,使用 X .Y 两个向量可以唯一的定位平面中的任何一个点 在空间中 ...

  7. vue.js之获取当前点击对象(其实是套着vue的原生javascript吧,笑😊)

    转载请注明出处:http://www.cnblogs.com/meng1314-shuai/p/7455575.html 熟悉jquery的小伙伴应该都知道jquery获取当前点击对象是有多么的粗暴, ...

  8. 45、concurrent.futures模块与协程

    concurrent.futures  —Launching parallel tasks    concurrent.futures模块同时提供了进程池和线程池,它是将来的使用趋势,同样我们之前学习 ...

  9. hdu3713 Double Maze

    Problem Description Unlike single maze, double maze requires a common sequence of commands to solve ...

  10. 十条最有效的PCB设计黄金法则

    十条最有效的PCB设计黄金法则 尽管目前半导体集成度越来越高,许多应用也都有随时可用的片上系统,同时许多功能强大且开箱即用的开发板也越来越可轻松获取,但许多使用案例中电子产品的应用仍然需要使用定制PC ...