Linux中常用的网络命令有哪些(linux,开发技术)

时间:2024-05-08 10:50:00 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :


Linux中常用的网络命令有哪些

内容如下:

1、ping 发送TCMP回显请求报文,并等待返回TCMP回显应答。

ping[OPTIONS]...destination

这里的目标destination可以是目的IP地址或者域名/主机名 选项-c指定发送请求报文的次数,当ping没有任何选项时,在linux中默认将一直发送请求报文直到手动终止。

[root@centos7~]#ping-c3www.baidu.comPINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata.64bytesfrom61.135.169.121:icmp_seq=1ttl=52time=1.35ms64bytesfrom61.135.169.121:icmp_seq=2ttl=52time=1.32ms64bytesfrom61.135.169.121:icmp_seq=3ttl=52time=1.22ms---www.a.shifen.compingstatistics---3packetstransmitted,3received,0%packetloss,time2003msrttmin/avg/max/mdev=1.225/1.303/1.359/0.064ms

首先,ping程序会向域名服务器(DNS)发送请求,解析域名www.baidu.com的IP地址。DNS返回域名的一个别名www.a.shifen.com以及对应的IP地址61.135.169.121。之后ping程序开始向这个地址发送请求报文,每1s发送一个,ping收到ICMP回显应答并将结果显示在终端上,包括ICMP序列号(icmp_seq),生存时间(ttl)和数据包往返时间(time)。最后,给出汇总信息,包括报文总收发情况,总时间,往返时间最小值、平均值、最大值、平均偏差(越大说明网络越不稳定)。

[root@centos7~]#pingwww.a.comping:unknownhostwww.a.com

当目的域名无法解析出IP地址时,会报未知主机的错

[root@centos7~]#ping192.168.0.1PING192.168.0.1(192.168.0.1)56(84)bytesofdata.^C#这里按CTRL+C键手动终止了进程---192.168.0.1pingstatistics---6packetstransmitted,0received,100%packetloss,time4999ms

当目的IP地址没有路由时不会收到任何ICMP回显报文

[root@centos7~]#ping-c210.0.1.2PING10.0.1.2(10.0.1.2)56(84)bytesofdata.From10.0.1.254icmp_seq=1DestinationHostUnreachableFrom10.0.1.254icmp_seq=2DestinationHostUnreachable---10.0.1.2pingstatistics---2packetstransmitted,0received,+2errors,100%packetloss,time999mspipe2

当有目的IP的路由但无法达到时显示目标不可达错误(Destination Host Unreachable)。 ICMP回显应答还包括超时(request time out)等其他类型。

2、hostname显示或设置系统主机名

hostname[OPTIONS]...[NAME]

直接执行命令hostname时将显示主机名:

[root@centos7temp]#hostnamecentos7[root@centos7temp]#

这个主机名是系统的gethostname(2)函数返回的。 可以通过执行命令hostname NAME来临时改变主机名:

[root@centos7temp]#hostnameNAME[root@centos7temp]#hostnameNAME

这个临时修改实际上是修改了linux kernel中一个同为hostname的内核参数,它保存在/proc/sys/kernel/hostname中。如果需要永久修改则需要修改配置文件/etc/sysconfig/network,centos7中需要修改/etc/hostname。需要注意的是,如果配置文件中的主机名是localhost或localhost.localdomain时,系统会取得网络接口的IP地址,并用这个地址找出/etc/hosts文件中对应的主机名,然后将其设置成最终的hostname。

3、host DNS查询

hostname

host命令通过配置文件/etc/resolv.conf中指定的DNS服务器查询name的IP地址:

[root@centos7temp]#hostwww.baidu.comwww.baidu.comisanaliasforwww.a.shifen.com.www.a.shifen.comhasaddress61.135.169.121www.a.shifen.comhasaddress61.135.169.125

4、dig DNS

dig和host命令的语法一致,但提供了更详细的信息和更多的选项:

[root@centos7~]#digwww.baidu.com;>DiG9.9.4-RedHat-9.9.4-29.el7_2.2>www.baidu.com;;globaloptions:+cmd;;Gotanswer:;;->>HEADER#53(223.5.5.5);;WHEN:四11月1012:31:20CST2016;;MSGSIZErcvd:90[root@centos7~]#

如只查询域名的A记录并以短格式显示:

[root@centos7~]#digwww.baidu.comA+shortwww.a.shifen.com.61.135.169.12561.135.169.121[root@centos7~]#

或者:

[root@centos7~]#dig+nocmdwww.baidu.comA+noall+answerwww.baidu.com.252INCNAMEwww.a.shifen.com.www.a.shifen.com.252INA61.135.169.125www.a.shifen.com.252INA61.135.169.121

还可以用@server的方式指定DNS服务器:

[root@centos7~]#dig+noall+answerwww.baidu.comA@8.8.8.8www.baidu.com.21INCNAMEwww.a.shifen.com.www.a.shifen.com.263INA61.135.169.125www.a.shifen.com.263INA61.135.169.121

更多的命令及选项请自行man

5、traceroute或tracepath 路由跟踪

[root@centos7~]#tracepathwww.baidu.com1?:[LOCALHOST]pmtu15001:10.0.1.1030.396ms1:10.0.1.1030.350ms2:210.51.161.11.187msasymm33:210.51.161.18.186ms4:210.51.175.811.117ms5:61.148.142.618.554msasymm126:61.148.147.131.694msasymm127:123.126.8.1173.934msasymm108:61.148.155.462.703msasymm10....

这里只列出部分输出,表示跟踪到目的地址的路由,每一跳都返回。

6、ifconfig 配置网络接口

当命令没有任何参数时显示所有网络接口的信息:

[root@centos7~]#ifconfigens32:flags=4163mtu1500inet172.20.71.254netmask255.255.255.0broadcast172.20.71.255inet6fe80::250:56ff:fea4:fe34prefixlen64scopeid0x20ether00:50:56:a4:fe:34txqueuelen1000(Ethernet)RXpackets11996157bytes775368588(739.4MiB)RXerrors0dropped0overruns0frame0TXpackets12bytes888(888.0B)TXerrors0dropped0overruns0carrier0collisions0ens33:flags=4163mtu1500inet10.0.1.254netmask255.255.255.0broadcast10.0.1.255inet6fe80::250:56ff:fea4:a09prefixlen64scopeid0x20ether00:50:56:a4:0a:09txqueuelen1000(Ethernet)RXpackets20941185bytes1307830447(1.2GiB)RXerrors0dropped0overruns0frame0TXpackets147552bytes11833605(11.2MiB)TXerrors0dropped0overruns0carrier0collisions0lo:flags=73mtu65536inet127.0.0.1netmask255.0.0.0inet6::1prefixlen128scopeid0x10looptxqueuelen1(LocalLoopback)RXpackets0bytes0(0.0B)RXerrors0dropped0overruns0frame0TXpackets0bytes0(0.0B)TXerrors0dropped0overruns0carrier0collisions0[root@centos7~]#

本例中显示了两个网卡ens32和ens33以及环回口lo的信息,包括mtu,ip地址,掩码,mac地址,传输和接收数据量等等。 选项-s显示精简的信息:

[root@idc-v-71253~]#ifconfig-sens32IfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgens3215001199695100012000BMRU

如给ens33增加一个新地址10.0.1.4:

[root@centos7~]#ifconfigens33:010.0.1.4/24up[root@centos7~]#ifconfigens33:0ens33:0:flags=4163mtu1500inet10.0.1.4netmask255.255.255.0broadcast10.0.1.255ether00:50:56:a4:0a:09txqueuelen1000(Ethernet)命令中/24表明接口地址的掩码,up表示启用此接口。注意如果ip地址已经被使用,这里依然会被设置成功,但此地址被访问时,可能会有冲突。停用某接口:[root@centos7~]#ifconfigens33:0down

如果需要永久增加或修改当前接口的地址,最好直接编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33(其他系统换成相应文件)中IPADDR字段,然后重启网络systemctl restart network或service network restart生效。

7、arp和arping

命令arp显示系统的arp缓存,命令arping给邻居主机发送ARP请求。

[root@idc-v-71253~]#arp-a?(10.0.1.1)at68:8f:84:01:f1:ff[ether]onens33?(10.0.1.102)at00:50:56:a4:18:9a[ether]onens33?(10.0.1.254)at00:50:56:a4:a9:16[ether]onens33?(10.0.1.10)at00:50:56:a4:d2:e4[ether]onens33?(10.0.1.104)at00:50:56:a4:37:a7[ether]onens33

?表示未知域名,最后的网卡名表示arp表项对应的网络接口 如发现某地址不稳定,可以使用arping测试该地址是否为MAC地址冲突:

[root@centos7~]#arping10.0.1.252-Iens33ARPING10.0.1.252from10.0.1.254ens33Unicastreplyfrom10.0.1.252[00:50:56:A4:65:71]0.843msUnicastreplyfrom10.0.1.252[00:50:56:A4:0A:09]1.034ms

这里两条返回信息中的MAC地址不同,说明有两块网卡配置了相同的IP地址。选项-I指定发送arp请求的网络接口。 如果刚刚更改了网卡的IP地址,但上游设备(如交换机)的arp表项还是老的,可以使用arping来强制刷新:

[root@centos7~]#arping-c3-Iens33-s10.0.1.25410.0.1.1ARPING10.0.1.1from10.0.1.254ens33Unicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]19.466msUnicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]2.358msUnicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]24.305msSent3probes(1broadcast(s))Received3response(s)

-c指定发送arp请求次数,-s指定源地址,最后的IP表示发送目标(这里是网关地址)。

8、route 显示或更改路由表

[root@centos7~]#routeKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface10.0.1.00.0.0.0255.255.255.0U000ens33link-local0.0.0.0255.255.0.0U100200ens32link-local0.0.0.0255.255.0.0U100300ens33172.20.71.00.0.0.0255.255.255.0U000ens32192.168.78.010.0.1.104255.255.255.0UG000ens33

其中Destination表示目的网段或目标主机;Gateway表示网关地址;Genmask表示目的网段的掩码;Flags表示路由标志:U表示路由是启用(up)的、G表示网关;Metric表示目标距离,通常用跳数表示;Ref表示路由的引用数;Use表示路由查找计数;Iface表示此条路由的出口。 选项-n表示用数字形式显示目的网段 选项add和del表示添加或删除一条路由。 选项-net和netmask表示指定目的网段及掩码。 选项gw表示指定网关。 选项dev IF表示指定出口网卡 如增加一条到192.56.76.x的路由,使它的出口为ens32:

routeadd-net192.56.76.0netmask255.255.255.0devens32

如增加一条默认路由,指明它的网关为10.0.1.1

routeadddefaultgw10.0.1.1

如增加一条到172.20.70.0的路由,网关为10.0.1.2

routeadd-net172.20.70.0/24gw10.0.1.2

如删除默认路由

routedeldefault

9、telnet 提供远程登录功能

由于telnet协议使用明文传输,在要求安全登录的环境中并不适用。现在通常用它来进行网络服务的端口测试:

[root@centos7~]#telnet10.0.1.25180Trying10.0.1.251...Connectedto10.0.1.251.Escapecharacteris'^]'.^]#这里按了CTRL+],也可以按CTRL+C强行退出。telnet>quitConnectionclosed.

这里对方的80端口是开启并允许通信的。当对端端口没有开启时:

[root@centos7~]#telnet10.0.1.25181Trying10.0.1.251...telnet:connecttoaddress10.0.1.251:Noroutetohost

当对端拒绝连接时:

[root@centos7~]#telnet10.0.1.2518085Trying10.0.1.251...telnet:connecttoaddress10.0.1.251:Connectionrefused

10、ssh 远程登录程序

ssh[OPTIONS]...[user@]hostname[command]

ssh的全称是Secure Shell,在不安全的网络主机间提供安全加密的通信,旨在代替其他远程登录协议。

[root@centos7~]#ssh10.0.1.253Theauthenticityofhost'10.0.1.253(10.0.1.253)'can'tbeestablished.ECDSAkeyfingerprintis96:bd:a3:a7:87:09:1b:53:44:4c:9b:b9:5f:b2:97:89.Areyousureyouwanttocontinueconnecting(yes/no)?yes#这里输入yesWarning:Permanentlyadded'10.0.1.253'(ECDSA)tothelistofknownhosts.root@10.0.1.253'spassword:#这里输入密码Lastlogin:FriNov1109:04:012016from192.168.78.137[root@idc-v-71253~]##已登录

当命令ssh后直接跟主机IP时表示使用默认用户root登录,如果是首次登录,需要确认添加该主机的认证key,当输入yes后,即会在本机/root/.ssh/known_hosts中增加一条该主机的记录,下一次登录时就不用再次确认了。然后需要输入用户密码,通过验证之后,我们就获得了目的主机的一个shell,我们就可以在这个shell中执行命令了。 在新shell中输入exit即可退回到原shell。 如果需要频繁登录某主机,但不想每次都输入密码,可以设置免密码登录:

[root@centos7~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):#回车Enterpassphrase(emptyfornopassphrase):#回车Entersamepassphraseagain:#回车Youridentificationhasbeensavedin/root/.ssh/id_rsa.#私钥Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.#公钥Thekeyfingerprintis:be:c3:d0:02:50:35:35:fe:60:d6:2f:26:96:f0:e1:e6root@centos7Thekey'srandomartimageis:+--[RSA2048]----+|...o.o||.oo||..*.||.*=.||..S+.||o=.o.||+E||o.||..|+-----------------+[root@centos7~]#[root@centos7~]#ssh-copy-id10.0.1.253/usr/bin/ssh-copy-id:INFO:attemptingtologinwiththenewkey(s),tofilteroutanythatarealreadyinstalled/usr/bin/ssh-copy-id:INFO:1key(s)remaintobeinstalled--ifyouarepromptednowitistoinstallthenewkeysroot@10.0.1.253'spassword:Numberofkey(s)added:1Nowtryloggingintothemachine,with:"ssh'10.0.1.253'"andchecktomakesurethatonlythekey(s)youwantedwereadded.[root@centos7~]#

其中命令ssh-keygen用来生成公钥私钥,选项-t指明密钥类型。之后使用命令ssh-copy-id将公钥发送至目标主机,这里需要输入目标主机用户密码。然后就可以免密码登录了:

[root@centos7~]#ssh10.0.1.253Lastlogin:FriNov1111:08:372016from10.0.1.254[root@idc-v-71253~]#

还可以通过ssh远程执行命令:

[root@centos7~]#ssh10.0.1.252"hostname"root@10.0.1.252'spassword:#输入密码idc-v-71252#显示命令结果[root@centos7~]##并不登录

或者手动将公钥拷贝至目标主机:

[root@centos7~]#cat/root/.ssh/id_rsa.pub|ssh10.0.1.252"cat->>/root/.ssh/authorized_keys"root@10.0.1.252'spassword:#输入密码[root@centos7~]#ssh10.0.1.252#免密登录Lastlogin:ThuNov1014:42:112016from192.168.78.135[root@idc-v-71252~]#

选项-p为登录指定端口:

[root@centos7temp]#ssh-p2210.0.1.252Lastlogin:FriNov1111:44:312016from10.0.1.254[root@idc-v-71252~]#

端口设置在服务端配置文件/etc/ssh/sshd_config中,默认端口号为22,如更改需将#Port 22去掉注释并将22更改为需要的端口,然后重启sshd服务service sshd restart或systemctl restart sshd。 如果需要使用另外的用户登录系统则执行ssh user@host 我们可以用tar命令结合ssh和管道,将本地(远程)文件备份到远程(本地):

tarzc/home/temp|sshuser@host"tarxz"#本地temp目录备份到远程sshuser@host"tarcz/home/temp"|tarxz#远程temp目录备份到本地

选项-L [bind_address:]port:host:hostport设置本地端口转发

[root@centos7~]#ssh-L2222:10.0.1.252:2210.0.1.253Lastlogin:MonNov1410:34:432016from10.0.1.254[root@idc-v-71253~]##注意如果这里exit断开连接,则此转发也将终止。

此命令的意思是绑定本地端口2222,并将所有发送至此端口的数据通过中间主机10.0.1.253转发至目标主机10.0.1.252的22端口,此时如果用ssh登录本机的2222端口,则实际登录的是主机10.0.1.252

[root@centos7~]#ssh-p2222127.0.0.1Lastlogin:MonNov1410:34:562016from10.0.1.253[root@idc-v-71252~]#

这里默认绑定的是本机的环回口127.0.0.1,如绑定到其他地址,则根据语法设置bind_address。 选项-N表示不执行命令,只设置端口转发时有用 由于上述端口转发命令ssh -L 2222:10.0.1.252:22 10.0.1.253会登录到中间主机,并且退出后端口转发也会终止,使用-N选项将不会登录,再配合shell后台执行,将会是一个不错的设置端口转发的选择(但要注意对中间主机需要免密码登录):

[root@centos7~]#ssh-N-L2222:10.0.1.252:2210.0.1.253&[1]12432[root@centos7~]#

命令最后的符号&表示此命令将在后台执行,返回的信息中[1]表示后台命令编号,12432表示命令的PID。(关于shell后台命令,以后的文章中会有叙述) 选项-R [bind_address:]port:host:hostport 设置远程端口转发 如我们在10.0.1.253上执行:

ssh-R2222:10.0.1.252:2210.0.1.254

然后在10.0.1.254上登录:

[root@centos7~]#ssh-p2222localhostLastlogin:MonNov1410:40:442016from10.0.1.253[root@idc-v-71252~]#

这里的意思是使远程主机10.0.1.254(相对10.0.1.253来说)监听端口2222,然后将所有发送至此端口的数据转发至目标主机10.0.1.252的端口22。之后再在10.0.1.254登录本地(localhost)的2222端口时,实际通过中间主机10.0.1.253登录目标主机10.0.1.252。 选项-o OPTION指定配置文件(如/etc/ssh/sshd_config)内选项 如避免第一次登录时输入yes确认,可增加-o StrictHostKeyChecking=no。

11、scp 远程复制文件

scp[OPTIONS]...[[user@]host1:]file1...[[user@]host2:]file2

scp命令通过ssh协议将数据加密传输,和ssh登录类似,需要输入远程主机用户密码。 如将远程主机10.0.1.253中文件/root/tcp.sh复制到本地当前目录下:

[root@centos7~]#scproot@10.0.1.251:/root/a.txt./root@10.0.1.251'spassword:a.txt100%1250.1KB/s00:00[root@centos7~]#

命令会显示传输状态(传输百分比,大小,速度,用时)。 将本地文件复制到远程无非是将源和目的调换位置。 选项-P指定远端连接端口(ssh服务端口),-o ssh_option使用ssh选项。 选项-l limit传输限速,limit单位为Kbit/s。 和命令cp类似,选项-r表示复制目录,-p表示保留文件权限时间等

12、netstat 打印网络信息

选项-a显示所有端口信息:

[root@centos7~]#netstat-aActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:ssh0.0.0.0:*LISTENtcp00localhost:smtp0.0.0.0:*LISTENtcp05210.0.1.254:ssh192.168.78.143:49583ESTABLISHEDtcp600[::]:commplex-main[::]:*LISTENtcp600[::]:4243[::]:*LISTENtcp600[::]:ssh[::]:*LISTENtcp600localhost:smtp[::]:*LISTENraw600[::]:ipv6-icmp[::]:*7raw600[::]:ipv6-icmp[::]:*7ActiveUNIXdomainsockets(serversandestablished)ProtoRefCntFlagsTypeStateI-NodePathunix2[ACC]STREAMLISTENING12807/run/systemd/privateunix2[ACC]STREAMLISTENING12815/run/lvm/lvmpolld.socketunix2[]DGRAM12818/run/systemd/shutdowndunix2[ACC]STREAMLISTENING16403/var/run/dbus/system_bus_socket....

这里只显示部分信息 选项-t显示TCP连接信息 选项-n显示IP地址而不进行域名转换 选项-p显示PID和程序名

[root@centos7~]#netstat-antpActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp000.0.0.0:220.0.0.0:*LISTEN1358/sshdtcp00127.0.0.1:250.0.0.0:*LISTEN2162/mastertcp05210.0.1.254:22192.168.78.143:49583ESTABLISHED12044/sshd:root@pttcp600:::5000:::*LISTEN17222/docker-proxytcp600:::4243:::*LISTEN16983/dockertcp600:::22:::*LISTEN1358/sshdtcp600::1:25:::*LISTEN2162/master[root@centos7~]#

其中Proto表示协议(包括TCP、UDP等);Recv-Q和Send-Q表示接收和发送队列,一般都为0,如果非0则表示本地的接收或发送缓存区有数据等待处理;Local Address和Foreign Address分别表示本地地址和远端地址;State表示连接状态,对应于TCP各种连接状态;PID/Program name表示进程号和程序名。 选项-l表示只显示状态为LISTEN的连接

[root@centos7~]#netstat-ntlActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:220.0.0.0:*LISTENtcp00127.0.0.1:250.0.0.0:*LISTENtcp600:::5000:::*LISTENtcp600:::4243:::*LISTENtcp600:::22:::*LISTENtcp600::1:25:::*LISTEN[root@centos7~]#

选项-u表示显示UDP连接信息 选项-r表示显示路由信息

[root@centos7~]#netstat-rKernelIProutingtableDestinationGatewayGenmaskFlagsMSSWindowirttIfacedefault10.0.1.1030.0.0.0UG000ens3310.0.1.00.0.0.0255.255.255.0U000ens33172.20.71.00.0.0.0255.255.255.0U000ens32192.168.78.010.0.1.104255.255.255.0UG000ens33

选项-i显示接口信息

[root@centos7~]#netstat-iKernelInterfacetableIfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgens3215001319610707703246000BMRUens3315002531238808802516050000BMRUlo6553625035890002503589000LRU

13、tcpdump 网络抓包工具

命令tcpdump捕获某网络接口符合表达式expression的数据包,并打印出数据包内容的描述信息。 选项-i指定网卡:

[root@idc-v-71253~]#tcpdump-iens33tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecodelisteningonens33,link-typeEN10MB(Ethernet),capturesize65535bytes15:41:59.121948IP10.0.1.108.3693>239.100.1.1.websm:UDP,length5815:41:59.122191IP10.0.1.109.35673>239.100.1.1.websm:UDP,length5715:41:59.128282IP10.0.1.253.ssh>192.168.78.143.51694:Flags[P.],seq749565300:749565496,ack3522345564,win255,length19615:41:59.134127IP192.168.78.143.51694>10.0.1.253.ssh:Flags[.],ack196,win3977,length015:41:59.140319ARP,Requestwho-has10.0.1.31tell10.0.1.102,length4615:41:59.168328ARP,Requestwho-has10.0.1.37tell10.0.1.102,length4615:41:59.262235ARP,Requestwho-has192.168.10.150tell192.168.10.151,length4615:41:59.622090IP10.0.1.108.3693>239.100.1.1.websm:UDP,length5815:41:59.622178IP10.0.1.109.35673>239.100.1.1.websm:UDP,length57....

启动命令之后显示出可以使用-v或-vv显示更详细的信息,开始从ens33捕获数据包。输出显示出各个发送或接收数据包包头信息(包括ARP、IP、TCP、UDP等等协议)。此命令并未指定expression,所以默认将捕获所有数据包。 如果需要将数据包捕获然后通过其他程序(如wireshark)分析,可以使用选项-w file将数据写入文件,同时还需要使用选项-s 0指定能够捕获的数据包大小为65535字节,以避免数据包被截断而无法被分析。 真实环境中,流经网卡的数据包量是巨大的。可以使用表达式来对数据包进行过滤,对于每个数据包,都要经过表达式的过滤,只有表达式的值为true时,才会输出。 expression中可以包含一到多个关键字指定的条件,可以使用and(或&&)、or(或||)、not(或!)和括号()表示各个关键字间的逻辑关系,可以用>、

tcpdump-iens33dsthost10.0.1.251#监视所有从端口ens33发送到主机10.0.1.251的数据包,主机也可以是主机名tcpdump-ieth0host!211.161.223.70and!211.161.223.71anddstport80#监听端口eth0,抓取不是来自或去到主机211.161.223.70和211.161.223.71并且目标端口为80的包tcpdumptcpport23host210.27.48.1#获取主机210.27.48.1接收或发出的telnet包tcpdump'tcpport80and(((ip[2:2]-((ip[0]&0xf)>2))!=0)andsrcnet(183.60.190or122.13.220)'-s0-ieth0-wipdump#抓取源或目的端口是80,且源网络是(183.60.190.0/24或者122.13.220.0/24),并且含有数据,而不是SYN,FIN以及ACK-only等不含数据的TCP数据包写入文件ipdump#注意这里表达式使用单引号引起来以避免其中的特殊字符被shell解析而造成语法错误tcpdump'tcp[tcpflags]&(tcp-syn|tcp-fin)!=0and!srcanddstnet10.0.0'#只打印TCP的开始和结束包(SYN和FIN标记),并且源和目标网段均不是10.0.0.0/24tcpdump'gateway10.0.1.1andip[2:2]>576'#表示抓取发送至网关10.0.1.1并且大于576字节的IP数据包
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Linux中常用的网络命令有哪些的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:php中的$_REQUEST怎么使用下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18