TCPDUMP

Tcpdump 的简单用法

依然范特西╮ 提交于 2020-03-14 04:24:57
Tcpdump 的简单用法 tcpdump是Linux命令行下使用最广泛的网络分析工具,运行的时候会将网卡运行在混杂模式下,需要root权限才能执行 下面是几个比较常见的参数: -w 保持到指定的文件 -i 指定监听的网卡,缺省显示第一块网卡 -nn 以IP方式显示host -v 显示详细信息 -s 指定数据包大小,缺省是65535 -t 不显示时间 ,缺省是显示时间戳 -c 获取数据包数量,缺省不限制,需要用Ctrl+c来终止 下面是关于命令关键字的说明 1、主要包括host,net,port,例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host. 2、主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。 3、主要包括fddi,ip,arp,rarp,tcp,udp等类型,指明了监听的包的协议内容。如果没有指定任何协议

tcpdump抓包问题

岁酱吖の 提交于 2020-03-11 02:44:50
使用tcpdump抓取某个IP地址的包来分析TCPIP协议的握手过程, sudo tcpdump i 7 "tcp[tcpflags] != 0 and host 127.0.0.1" -c 3 也就是前三个包,发现TCP的Flags的标记位为Flags[.],这个Flags[.]中的点就代表ACK标记为1. 来源: CSDN 作者: GJQI12 链接: https://blog.csdn.net/GJQI12/article/details/104747682

CentOS中使用tcpdump抓包

大兔子大兔子 提交于 2020-03-07 13:35:01
安装: yum install tcpdump 命令使用: 监听特定网卡 tcpdump 抓取第一块网卡所有数据包 [root@server110 tcpdump]# tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 15:58:14.441562 IP server110.ssh > 18.16.202.169.cvd: Flags [P.], seq 2956277183:2956277391, ack 2178083060, win 336, length 208 15:58:14.442088 IP server110.34562 > ns-px.online.sh.cn.domain: 34223+ PTR? 169.202.16.18.in-addr.arpa. (44) 15:58:14.486822 IP 18.16.202.169.cvd > server110.ssh: Flags [.], ack 208, win 16419, length 0 15:58:14.692932 IP ns-px

设置SSL连接PG

我是研究僧i 提交于 2020-03-06 16:07:01
第一步: ./configure --prefix=编译生成的目录 --with-openssl --enable-debug 解决configure: error: OpenSSL Crypto library not found crypto是什么呢? 是OpenSSL 加密库(lib), 这个库需要openssl-devel包 ,在ubuntu中就是 libssl-dev RedHat Fedora 平台 yum -y install openssl-devel Debian ,ubunu 平台 apt-get install libssl-dev 第二步: make && make install 第三步: 生成数据库:./initdb -D ../data 第四步: 利用openssl生成私钥和证书 进入生成的数据库data目录 openssl genrsa -des3 -out server.key openssl rsa -in server.key -out server.key openssl req -new -key server.key -days 3650 -out server.crt -x509 cp server.crt root.crt chmod 0600 server.key 第五步: 修改postgresql.conf配置文件,打开ssl连接

tcpdump非常实用的抓包实例

两盒软妹~` 提交于 2020-03-06 14:21:20
tcpdump非常实用的抓包实例 详细的文档见 tcpdump高级过滤技巧 基本语法 ======== 过滤主机 -------- - 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据 # tcpdump -i eth1 host 192.168.1.1 - 源地址 # tcpdump -i eth1 src host 192.168.1.1 - 目的地址 # tcpdump -i eth1 dst host 192.168.1.1 过滤端口 -------- - 抓取所有经过 eth1,目的或源端口是 25 的网络数据 # tcpdump -i eth1 port 25 - 源端口 # tcpdump -i eth1 src port 25 - 目的端口 # tcpdump -i eth1 dst port 25网络过滤 -------- # tcpdump -i eth1 net 192.168 # tcpdump -i eth1 src net 192.168 # tcpdump -i eth1 dst net 192.168 可以加入-X参数,查看包内容 协议过滤 -------- # tcpdump -i eth1 arp # tcpdump -i eth1 ip # tcpdump -i eth1 tcp # tcpdump -i eth1

tcpdump抓取HTTP包

你说的曾经没有我的故事 提交于 2020-03-06 14:17:25
tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE" 0x4854 为"HTTP"前两个字母"HT" 说明: 通常情况下:一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手 里面的几个概念: SYN: (同步序列编号,Synchronize Sequence Numbers) ACK: (确认编号,Acknowledgement Number) FIN: (结束标志,FINish) TCP三次握手(创建 OPEN) 客户端发起一个和服务创建TCP链接的请求,这里是SYN(J) 服务端接受到客户端的创建请求后,返回两个信息: SYN(K) + ACK(J+1) 客户端在接受到服务端的ACK信息校验成功后(J与J+1),返回一个信息:ACK(K+1) 服务端这时接受到客户端的ACK信息校验成功后(K与K+1), 不再返回信息,后面进入数据通讯阶段 数据通讯 客户端/服务端 read/write数据包 TCP四次握手(关闭 finish) 客户端发起关闭请求,发送一个信息:FIN(M) 服务端接受到信息后,首先返回ACK(M+1),表明自己已经收到消息。 服务端在准备好关闭之前,最后发送给客户端一个 FIN(N)消息

使用tcpdump拦截linux网络数据

两盒软妹~` 提交于 2020-03-03 00:16:54
使用tcpdump拦截linux服务端网络数据 语法范例: tcpdump -vv -i ens3 '((tcp)&&(host 183.239.240.48)&&(port 3001))' -c 100 -w 12.cap tcpdump -vv -i eth0 '((tcp)&&(src host 10.67.37.26)&&(dst port 9300))' -c 1000 -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"

linux下tcpdump命令的使用

南笙酒味 提交于 2020-03-02 23:46:57
一般情况下linux系统会自带tcpdump工具,如果系统没有安装,直接用命令安装就行了。 安装命令:yum install -y tcpdump 查看安装版本命令:tcpdump --help 查看网卡命令: 知道了网卡,就可以使用tcpdump工具针对服务器上的网卡监控、过滤网络数据。 tcpdump常用命令: #抓取所有经过 eth0,目的或源地址是 192.168.29.162 的网络数据 命令:tcpdump -n -i eth0 host 192.168.29.162 # 源地址 命令:tcpdump -i eth1 src host 192.168.29.162 # 目的地址 命令:tcpdump -i eth1 dst host 192.168.29.162 #抓取当前服务器eth0网卡端口8080的网络数据 命令:tcpdump -n -i eth0 port 8080 #抓取mysql执行的sql语句 命令:tcpdump -i eth1 -s 0 -l -w - dst port 3306 | strings #抓取mysql通讯的网络包(cap用wireshark打开) 命令tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap #抓取SMTP 数据 命令:tcpdump

tcpdump教程入门

天大地大妈咪最大 提交于 2020-02-27 05:13:45
tcpdump 是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工具, 更能帮我们理解协议. tcpdump的一些命令选项 -n 不要转换一些数值, 比如把80端口转换成http显示. -i 需要监控的网卡. 如果不指定, 则监控所有有效的网卡数据. -c 抓取多少个包后自动停止抓取 -s 默认是只抓取96bytes的数据, 如果想要抓取更多的数据, 则要通过这指定更大的数值. 比如 -s 1500 抓取1500byte -S 默认每个包的sequence是显示相对的值, 如果想显示绝对值, 通过此选项打开. 过滤表达式 我们抓包时, 一般是有针对性的去关注感兴趣的东西, 不然太多的信息会对我们分析数据造成干扰, tcpdump支持过滤语法. 基本用法 host host 指定主机, 可以是ip或者域名. tcpdump -s0 -i wlan0 host www.baidu.com 上面的功能是抓取本机网卡wlan0上和www.baidu.com这个主机打交道的数据. 其中 -s0 指定抓取所有数据, 查考前面选项介绍. dst, src 有时候我们只关心数据流其中一个方向上的数据, 可以通过src: 源端, dst:目的端来指定过滤.

tcpdump常用命令

泪湿孤枕 提交于 2020-02-26 23:32:32
tcpdump 是 Linux 系统提供的一个非常强大的抓包工具,熟练使用它,对我们排查网络问题非常有用。如果你的机器上还没有安装,可以使用如下命令安装: yum install tcpdump 如果要使用 tcpdump 命令必须具有 sudo 权限。 tcpdump 常用的选项有: -i 指定要捕获的目标网卡名,网卡名可以使用前面章节中介绍的 ifconfig 命令获得;如果要抓所有网卡的上的包,可以使用 any 关键字。 ## 抓取网卡ens33上的包 tcpdump -i ens33 ## 抓取所有网卡上的包 tcpdump -i any -X 以 ASCII 和 十六进制 的形式输出捕获的数据包内容,减去链路层的包头信息; -XX 以 ASCII 和 十六进制 的形式输出捕获的数据包内容,包括 链路层的包头信息 。 -n 不要将 ip 地址显示成别名的形式; -nn 不要将 ip 地址和端口以别名的形式显示。 -S 以绝对值显示包的 ISN 号(包 序列号 ),默认以上一包的偏移量显示。 -vv 抓包的信息详细地显示; -vvv 抓包的信息更详细地显示。 -w 将抓取的包的原始信息(不解析,也不输出)写入文件中,后跟文件名: tcpdump -i any -w filename -r 从利用 -w 选项保存的包文件中读取数据包信息。 除了可以使用选项以外, tcpdump