网络常用命令----抓包,路由

ping命令

-d 使用Socket的SO_DEBUG功能。

-f  极限检测。flood泛宏,让网卡尽自己cpu的最大能力发icmp请求,而且不需要等待他回复

-n 只输出数值。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。

-v 详细显示指令的执行过程。

<p>-c 数目:在发送指定数目的包后停止。

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-I 网络界面:使用指定的网络界面送出数据包。

-l 前置载入:设置在送出要求信息之前,先行发出的数据包。

-p 范本样式:设置填满数据包的范本样式。

-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。65507包的最大值  

-t 存活数值:设置存活数值TTL的大小。

常用操作

-b 相当于 发广播(主机为为0)
在这里插入图片描述
最大限度发包Ping -s 65507 ip地址 -f攻击)不等回复
在这里插入图片描述

1.ifconfig命令

依赖的包net-tools
最小化安装没这个命令

ifconfig -a 查看所有网卡(禁用的网卡也可以看到)
ifconfig IFACE [up|down] 禁用或启用网卡
ifconfig interface [aftype] options | address …
ifconfig IFACE IP/netmask 临时配置网络地址

ifconfig IFACE IP netmask NETMASK
1.禁用网卡 ifconfig 网卡名 down-----网络层的down

开启网络ifconfig 网卡名 up
2.ifdown 网卡-----数据链路层down
开启网络 ifup

重新启动网络服务service network restart

别名机制:临时地址
在这里插入图片描述
在这里插入图片描述
取消临时地址
在这里插入图片描述
永久生效写文件
在/etc/sysconfig/network-scripts/

如果在这个目录下没有这个网卡的配置可以手工写
DEVICE设备名
NAME在型界面下看到的名字
BOOTPROTO地址是手工配置none或者static,是dhcp自动获取(也就是IPADDR不会生效)
IPADDR:ip地址
PREFIX=24子网掩码 或者是 NETMASK=255.255.255.0
ONBOOT网卡是启用还是禁用
GATEWAY 网关
在这里插入图片描述

2.route命令

启用route服务

临时
/proc/sys/net/ipv4/ip_forward改为1就启用
永久文件/etc/sysctl.conf中
在这里插入图片描述

2.1临时配置

路由管理命令
查看:route -n
添加:route add
删除:route del
在这里插入图片描述

Destination 目标
Gateway 网关:网络的关口
Genmask子网掩码
Iface接口:到达目标地址经过的网卡

网关:(下一跳next hop)需要和别的网络通信才需要配(同一网段不需要配置),也就是下一个路由器接口的ip地址(邻近的)
如果在一个网段的两个主机中间有一个路由器那么他们两个就ping不通 (路由器隔离了广播,收不到)
所以路由器隔开就可以配置为不同的网段,

添加网络地址

route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

默认路由
未知网络(这两个网络处于网络的边缘)也就是有两个路由器可以,路由过多不可以,
中间路由不可加默认路由,只有边缘的才可以

route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1

仅主机路由:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3
在这里插入图片描述

回环网卡:一般是255.0.0.0子网掩码,所以可以拼通好多127开头的网络,不需要加路由----不能和网络通信------自己连自己,配置路由eth为其下一跳(gateway)

2.2永久生效route路由

方法一:将路由扔到 /etc/rc.local文件
在这里插入图片描述

方法二:写配置文件/etc/sysconfig/network-scripts/route-IFACE
需service network restart生效

3.netstat命令

netstat通过遍历proc来获取socket信息
显示网络连接:

-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口
-e:扩展格式
-p: 显示相关进程及PID

在这里插入图片描述

-I(大i)监视网卡 与-i一样,只不过个性
-I=eth0 或者-Ieth0
在这里插入图片描述
ifconfig -s eth0地址 一样

在这里插入图片描述

套接字有三种

Udp		的   ip+端口号  (有封装和解封装)
Tcp		的	ip+端口号
Unix域(domain)  以socket文件为主(方便)

常用组合:
-tan, -uan, -tnl, -unl
显示路由表

-r: 显示内核路由表
-n: 数字格式
-i显示所有网络接口 Iface指定接口
在这里插入图片描述

显示接口统计数据

netstat -i
后面的PX-ERR错误的 PX-DRP抛弃的 PX-OVR超过负载的
在这里插入图片描述

4.ip命令

配置Linux网络属性:ip 命令

Ip link 或者 ip l查看链路层信息

Ip addr 或者ip a查看可以看到数据链路层,网络层,地址等信息
可设置属性

ifup/ifdown激活或禁用指定接口

作用域
在这里插入图片描述

Global是内核级的:从任意接口进来,他的这个global都可以识别(全局可用)
Link是链路级的:从那个接口进来,只能被那个接口所识别(仅链接可用)
Host只能针对本机有效(本机可用)

ip addr add 172.16.100.100/16 dev eth0 label eth0:0添加别名
ip addr del 172.16.100.100/16 dev eth0 label eth0:0删除别名
ip addr flush dev eth0 label eth0:0

ip route - routing table management

查看路由ip route
添加路由:ip route add用ifconfig看不到

ip route add 192.168.0.0/24 via 172.16.0.1(这里的via表示网关)
添加默认路由( 10.0.0.1/8 改为default)
在这里插入图片描述

添加网关:ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
删除路由:ip route del TARGET
显示路由:ip route show|list
清空路由表ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0

Metric路由费用,越小越优先
加路由metric
在这里插入图片描述

5.ss命令

**ss使用netlink与内核tcp_diag模块通信获取socket信息 **

选项:

-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息

TCP的常见状态:

LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED

EXPRESSION:
dport = 目标端口,协议
sport = 源端口,协议
示例:’( dport = :ssh or sport = :ssh )’
常用组合
-tan, -tanl, -tanlp, -uan
常见用法
ss -s列出当前socket详细信息
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established ‘( dport = :ssh or sport = :ssh )’ 显示所有已建立的ssh连接

ss -o state established ‘( dport = :http or sport = :http )’ 显示所有已建立的HTTP连接

6.nmcli命令

地址配置工具:nmcli

Device主要是看数据链路层
Connection看网络层

在这里插入图片描述

修改IP地址等属性

Con-name起名字 
Ifname接口
Type 类型 以太网网卡等
Ipv4.method 设置地址方式
manual手工设置地址       auto是自动获取
Ipv4.Address 地址
ipv4.gateway

修改配置文件执行生效:systemctl restart network
nmcli con reload
nmcli命令生效
nmcli con down eth0
nmcli con up eth0

nmcli配置网络

NeworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置,一个网络接口可有多个连接配置,
但同时只有一个连接配置生效
显示所有包括不活动连接
nmcli con show
显示所有活动连接
nmcli con show --active
显示网络连接配置
nmcli con show "System eth0“
显示设备状态
nmcli dev status
显示网络接口属性
nmcli dev show eth0
创建新连接default,IP自动通过dhcp获取
nmcli con add con-name default type Ethernet ifname eth0
删除连接
nmcli con del default
创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static ifname eth0 autoconnect no type
Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
启用static连接配置
nmcli con up static
启用default连接配置
nmcli con up default
查看帮助
nmcli con add help

修改连接设置
nmcli con mod “static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.16.X.10/24 172.16.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
DNS设置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取 等价于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

nmcli con mod 							ifcfg-* 文件
ipv4.method manual 						BOOTPROTO=none
ipv4.method auto 						BOOTPROTO=dhcp
ipv4.addresses “192.168.2.1/24 192.168.2.254” 		IPADDR0=192.168.2.1PREFIX0=24GATEWAY0=192.0.2.254
							
ipv4.dns 8.8.8.8 						DNS0=8.8.8.8
ipv4.dns-search example.com 			DOMAIN=example.com
ipv4.ignore-auto-dns true 				PEERDNS=no
connection.autoconnect yes 				ONBOOT=yes
connection.id eth0 						NAME=eth0
connection.interface-name eth0 			DEVICE=eth0
802-3-ethernet.mac-address . . . 		HWADDR= . .

修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0” 可被自动激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用网卡,访止被自动激活
图形工具
nm-connection-editor
字符工具
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname

nmcli实现bonding

添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode
active-backup
添加从属接口
nmcli con add type bond-slave ifname ens7 master bond0
nmcli con add type bond-slave ifname ens3 master bond0
注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
启动绑定
nmcli con up mybond0

7.tracerout命令

跟踪路由
用于探测目标是否可达—会跟踪数据到达马努表中经过的所有路由

-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 开启或关闭数据包的正确性检验。

在这里插入图片描述

8. tracepath命令

跟踪路由
相对于traceroute 多了一个(下一跳)

-n  不查看主机名字
-l  设置初始化的数据包长度,默认65535

在这里插入图片描述

9. mtr命令

mtr ip值 (在线跟踪的 q退出)
在这里插入图片描述

10.iptables命令

Ipdatables -A INPUT -s 192.168.245.129 -j DROP
拒接访问,drop直接丢弃
在这里插入图片描述
在这里插入图片描述

11.tcpdump

-c 指定抓包的数量 

-i 就是指定网卡 如果不加-i 默认抓eth0

-w 抓到的包存到一个文件, 最后用  -r  读取文件

port(指定端口)

host 指定ip

tcpdump -nn tcp(协议类型) and(与) prot 22 //抓tcp协议和22端口 and就是增加

tcpdump -nn tcp and port 80 -i eth3 and host 192.168.0.105 -w 1.cap

只对名为hostname的主机的通信数据包进行监视。
hostname,可以是任何主机

tcpdump -i eth0 src host hostname

监视所有送到主机hostname的数据包:

tcpdump -i eth0 dst host hostname
tcpdump -i  eth0 -nn  prot 80

Prot 指定端口 80是http服务端口号
-nn以数字方式
在这里插入图片描述

tshark 抓包工具

yum install -y wireshark //下载

与tcpdump一样

-nn
-Y指定协议
 tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri" -i eth3 

在这里插入图片描述
抓取80端口的http协议细节

tshark -s 1024 -i any  -f 'tcp port 80' -V  -Y 'http.request' -l

抓取mysql的

tshark -s 512 -i any  -f 'tcp  port 3306' -V -Y "mysql.query" -T fields -e mysql.query

centos下抓取http

tshark -s 10240 -i any  -f 'tcp port 80' -V  -R 'http.request' -l

ethtool

lsof查看当前谁在使用

在这里插入图片描述

getenforc 查看selinux状态

sestatus查看selinux状态

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值