-d 使用Socket层级的排错功能。-f 设置第一个检测数据包的存活数值TTL的大小。-F 设置勿离断位。-g 设置来源路由网关,最多可设置8个。-i 使用指定的网络界面送出数据包。-I 使用ICMP回应取代UDP资料信息。-m 设置检测数据包的最大存活数值TTL的大小。-n 直接使用IP地址而非主机名称。-p 设置UDP传输协议的通信端口。-r 忽略普通的Routing Table,直接将数据包送到远端主机上。-s 设置本地主机送出数据包的IP地址。-t 设置检测数据包的TOS数值。-v 详细显示指令的执行过程。-w 设置等待远端主机回报的时间。-x 开启或关闭数据包的正确性检验。
2.tcpdump抓包命令
2.tcpdump抓包命令抓包命令tcpdump -i eth0 -nn -s0 -v port 80-i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该系统上只有一个网络接口,则无需指定。-nn : 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。-s0 : tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number, number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。-v : 使用 -v,-vv 和 -vvv 来显示更多的详细信息,通常会显示更多与特定协议相关的信息。port 80 : 这是一个常见的端口过滤器,表示仅抓取 80 端口上的流量,通常是 HTTP使用过滤器 host 可以抓取特定目的地和源 IP 地址的流量。$ tcpdump -i eth0 host 10.41.1.2
-w 选项用来把数据报文输出到文件:$ tcpdump -i eth0 -s0 -w test.txt
该命令会抓取所有发往主机 10.41.1.2 或者从主机 10.41.1.2发出的流量。如果想只抓取从该主机发出的流量,可以使用下面的命令:$ tcpdump host 10.41.1.2$ tcpdump src host 10.41.1.2
tcpdump 的输出重要的信息就是数据报的源地址/端口和目的地址/端口,上面的例子第一条数据报中,源地址 ip 是 10.41.17.31,源端口是 38772,目的地址是 79.43.139.84,目的端口是 80。 > 符号代表数据的方向。三条数据还是 tcp 协议的三次握手过程,第一条就是 SYN 报文,这个可以通过 Flags [S] 看出。下面是常见的 TCP 报文的 Flags:[S] : SYN(开始连接)s[.] : 没有 Flag[P] : PSH(推送数据)[F] : FIN (结束连接)[R] : RST(重置连接)而第二条数据的 [S.] 表示 SYN-ACK,就是 SYN 报文的应答报文。15:52:19.522440 fa:16:3e:b8:dd:7f > fa:16:3e:dd:ee:ff, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 6079, offset 0, flags [DF], proto TCP (6), length 60)10.41.17.31.38772 > 179.43.139.84.80: Flags [S], cksum 0xf4bb (correct), seq 2087875607, win 64240, options [mss 1460,sackOK,TS val 2891827679 ecr 0,nop,wscale 7], length 015:52:19.522443 fa:16:3e:b8:dd:7f > fa:16:3e:dd:ee:ff, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 57398, offset 0, flags [DF], proto TCP (6), length 60)10.41.17.31.44060 > 179.43.155.134.80: Flags [S], cksum 0x9429 (correct), seq 874432325, win 64240, options [mss 1460,sackOK,TS val 3706636844 ecr 0,nop,wscale 7], length 015:52:19.522460 fa:16:3e:dd:ee:ff > fa:16:3e:b8:dd:7f, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 63, id 57398, offset 0, flags [DF], proto TCP (6), length 60)10.41.1.223.44060 > 179.43.155.134.80: Flags [S], cksum 0xa369 (correct), seq 874432325, win 64240, options [mss 1460,sackOK,TS val 3706636844 ecr 0,nop,wscale 7], length 03.Wireshark 图形化网络分析工具启动的界面如下使用官网地址4.netstat 命令常使用的参数-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務状态-p 显示建立相关链接的程序名-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s 按各个协议进行统计-c 每隔一个固定时间,执行该netstat命令。返回字段的意义Proto:代表协议(tcp、tcp6、udp、udp6)Recv-Q:数据已经在本地接收缓冲,但是还没有recv()Send-Q:对方没有收到的数据或者说没有Ack的,还是本地缓冲区Local Address: 本地IP:本地端口Foreign Address: 远程IP:远程端口State:链接状态(监听状态:LISTEN、建立连接状态:ESTABLISHED等)PID:进程PID号Program name:程序名字常用组合查询进程号所占用的端口号: netstat -anp | grep 进程号查看端口号对应的进程,用于排查端口号是否被占用:netstat -tunlp | grep 端口号查看端口号的使用情况:netstat -anp | grep 端口号显示pid和进程:netstat -ptnetstat -l #只显示监听端口netstat -lt #只列出所有监听 tcp 端口netstat -lu #只列出所有监听 udp 端口netstat -lx #只列出所有监听 UNIX 端口
5.htop工具(图片来源网络,侵删)
0 评论