• tcpdump 命令行抓包工具


    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

    http://www.cnblogs.com/shijiaqi1066/p/3898248.html

    概述

    tcpdump命令是Linux中的截包命令工具,强大且易于使用。tcpdump基于底层libpcap库开发,运行需要root权限

    基本使用与命令选项

    例:截获主机收到和发出的所有数据包。

    命令:tcpdump

    wps_clip_image-10938

    说明:

    tcpdump截取包默认显示数据包的头部。

    基础格式:时间 数据包类型 源IP 端口/协议 > 目标IP 端口/协议 协议详细信息

    按下Ctrl+C会终止tcpdump命令。且会在结尾处生成统计信息。

    wps_clip_image-6466

    选项查看

    命令:tcpdump --h

    wps_clip_image-26739

    tcpdump version 4.1-PRE-CVS_2012_03_26  表示工具版本。

    libpcap version 1.4.0    表示libpcap的版本。

    选项:

    -a  将网络地址和广播地址转变成名字;
    
    -c  在收到指定的包的数目后,tcpdump就会停止;
    
    -d  将匹配信息包的代码以人们能够理解的汇编格式给出;以可阅读的格式输出。
    
    -dd  将匹配信息包的代码以c语言程序段的格式给出;
    
    -ddd  将匹配信息包的代码以十进制的形式给出;
    
    -e  在输出行打印出数据链路层的头部信息;
    
    -f  将外部的Internet地址以数字的形式打印出来;
    
    -l  使标准输出变为缓冲行形式;
    
    -n  直接显示IP地址,不现实名称;
    
    -nn  端口名称显示为数字形式,不现实名称;
    
    -t  在输出的每一行不打印时间戳;
    
    -v  输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
    
    -vv  输出详细的报文信息;
    
    -F  从指定的文件中读取表达式,忽略其它的表达式;
    
    -i  指定监听的网络接口;
    
    -r  从指定的文件中读取包(这些包一般通过-w选项产生);
    
    -w  直接将包写入文件中,并不分析和打印出来;
    
    -T  将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单 网络管理协议;)

    指定抓包数量 -c

    指定抓取2个数据包。

    命令:tcpdump -c 2

    wps_clip_image-3758

    说明:

    最后会自动生成统计信息。

    将抓包信息写入文件 -w

    使用-w选项指定记录文件。

    命令:tcpdump -c 10 -w tcpdump_test.log

    wps_clip_image-29699

    说明:

    保存的文件不是文本格式,不能直接查看。tcpdump保存的文件的格式是几乎所有主流的抓包工具软件都可以读取。所以可以使用更易读的图形界面工具来查看记录文件。

    读取记录文件 -r

    使用-r选项读取文件。

    命令:tcpdump -r tcpdump_test.log

    wps_clip_image-16804

    打印出所有可工作的接口 -D

    命令:tcpdump -D

    wps_clip_image-3795

    其中网卡为eth0与eth1。

    指定监控的网卡 -i

    命令:tcpdump -i eth0

    显示更详细的数据包信息 -v  -vv

    选项-v,-vv可以显示更详细的抓包信息。

    wps_clip_image-14398

    不使用域名反解 -n

    使用-n后,tcpdump会直接显示IP地址,不会显示域名(与netstat命令相似)。

    增加抓包时间戳 -tttt选项

    使用-tttt选项,抓包结果中将包含抓包日期:

    命令:tcpdump -tttt

    wps_clip_image-12169

    条件过滤

    过滤:指定需要抓取的协议

    tcpdump可以只抓某种协议的包,支持指定以下协议:ip,ip6,arp,tcp,udp,wlan等。

    命令:

    tcpdump udp

    tcpdump icmp

    tcpdump tcp

    tcpdump arp

    过滤:指定协议的端口号

    使用port参数,用于指定端口号。

    命令:tcpdump tcp port 80

    使用portrange参数,用于指定端口范围。

    命令:tcpdump tcp portrange 1-1024

    过滤:指定源与目标

    src 表示源。

    dst 表示目标。

    命令:

    tcpdump src port 8080

    tcpdump dst port 80

    过滤:指定特定主机的消息包

    使用host指定需要监听的主机。

    命令:tcpdump host 192.168.1.113

    注意:若使用了host参数使用了计算机名或域名。例tcpdump host shi-pc ,则无法再使用-n选项。

    过滤:指定数据包大小

    使用greater(大于)less(小于)可以指定数据包大小的范围。

    例:只抓取大于1000字节的数据包。

    命令:tcpdump greater 1000

    例:只抓取小于10字节的数据包。

    命令:tcpdump less 10

    查看数据包完整内容

    tcpdump默认不显示数据包的详细内容。

    方法一:使用-A参数能以ASCII码显示数据包。

    例:只抓取1个数据包,并显示其内容。

    命令:tcpdump -c 1 -A

    wps_clip_image-15285

    方法二:使用-X参数能16进制数与ASCII码共同显示数据包。

    例:只抓取1个数据包,并显示其内容。

    命令:tcpdump -c 1 -X

    wps_clip_image-6904

    逻辑表达式

    使用基本逻辑组合拼装出更精细的过滤条件。

    逻辑与关系,使用and。

    命令:

    tcpdump tcp and host 192.168.1.112

    tcpdump tcp and src 192.168.1.112 and port 8080

    逻辑或关系,使用or。

    命令:

    tcpdump host 192.168.1.112 or 192.168.1.113

    逻辑非关系,使用not,也可以使用 ! 。

    若使用 ! 必须与其后面的字符隔开一个空格。

    例:当通过ssh协议远程使用tcpdump时,为了避免ssh的数据包的输出,所以一般需要禁止ssh数据包的输出。

    命令:

    tcpdump not tcp port 22

    tcpdump ! tcp port 22

    括号

    括号需要使用在引号内,或转意使用。否则会报错。

    例:抓取非22端口,且主机为192.168.1.112 和 192.168.1.113的TCP数据包。

    命令:

    tcpdump not tcp port 22 and host ( 192.168.1.112 or 192.168.1.113)

    tcpdump "not tcp port 22 and host (192.168.1.112 or 192.168.1.113)"

    tcpdump not tcp port 22 and host "(192.168.1.112 or 192.168.1.113)"

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

    http://www.cnblogs.com/shijiaqi1066/p/3898248.html

  • 相关阅读:
    [Luogu 3794]签到题IV
    [JSOI 2015]最大公约数
    [BZOJ 5123][Lydsy1712月赛]线段树的匹配
    [BZOJ 5127][Lydsy1712月赛]数据校验
    [Codeforces Educational Round 71]Div. 2
    [NOIp 2018]all
    [BZOJ 2134]单选错位
    [hihoCoder 1384]Genius ACM
    [POJ 3233]Matrix Power Series
    [USACO 09FEB]Bullcow
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/3898248.html
Copyright © 2020-2023  润新知