重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用tcpdum命令可以抓指定IP的包,具体命令为:
公司主营业务:网站设计制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出鸡西梨树免费做网站回馈大家。
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap
参数解析:
tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。
-i eth1 : 只抓经过接口eth1的包
-t : 不显示时间戳
-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
-c 100 : 只抓取100个数据包
dst port 22 : 抓取目标端口是22的数据包
src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.1
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
扩展资料
tcpdump语法格式:
tcpdump [-adeflnNOpqStvx][-c数据包数目][-dd][-ddd][-F表达文件][-i网络界面][-r数据包文件][-s数据包大小][-tt][-T数据包类型][-vv][-w数据包文件][输出数据栏位]
tcpdump主要参数说明:
1、-a 尝试将网络和广播地址转换成名称。
2、-c数据包数目 收到指定的数据包数目后,就停止进行倾倒操作。
3、-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
4、-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
5、-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
6、-e 在每列倾倒资料上显示连接层级的文件头。
7、-f 用数字显示网际网络地址。
8、-F表达文件 指定内含表达方式的文件。
9、-i网络界面 使用指定的网络截面送出数据包。
10、-l 使用标准输出列的缓冲区。
11、-n 不把主机的网络地址转换成名字。
12、-N 不列出域名。
前言
如何确定端口是否在Linux或类unix系统下占用?怎么检查哪些端口正在Linux服务器上被占用?Linux系统如何使用命令行检查端口是否已经在占用?
查询哪些端口正在服务器的网络接口上被占用是非常重要的工作。您需要查询打开端口以检测入侵。除了入侵之外,出于故障排除的目的,可能有必要检查服务器上的其他应用程序是否已经使用了某个端口。例如,您可以在同一系统上安装Apache和Nginx服务器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤。
如何查询端口是否在使用中:
检查Linux上被占用的端口和应用程序:
Step1: 打开终端
Step2: 执行以下任意一条命令查看被占用的端口
查看端口22是否被占用:
较新版本的Linux使用以下查询命令:
方法1: 使用lsof命令查询占用端口
先安装lsof命令
RHEL/CentOS系统:
Debian/Ubuntu系统安装lsof命令
使用语法如下
OpenBSD
看到类似这样的输出结果:
sshd是进程名字
TCP 22表示sshd进程占用了TCP 22端口,正在监听中(LISTEN)
1243表示sshd进程号
方法二:使用netstat查询被占用的端口号
较新的Linux发行版已经不再默认集成netstat命令,而是使用新命令ss取代了。
如果要使用netstat命令,需要手动安装net-tools套件:
RHEL/CentOS系统安装net-tools套件,执行以下命令:
Debian/Ubuntu系统执行以下命令:
您可以使用netstat查询被占用的端口和应用程序,如下所示。
执行以下命令查询:
在Linux上,netstat命令已经废弃了一段时间。因此,你需要使用ss命令如下:
或者:
其中ss命令选项如下:
-t : 只显示Linux上的TCP套接字
-u : 在Linux上只显示UDP套接字
-l : 监听套接字。例如,TCP端口22由SSHD服务器打开。
-p : 列出打开套接字的进程名
-n : 不要解析服务名称,即不要使用DNS
FreeBSD/MacOS X netstat 语法
FreeBSD/MacOS X查询被占用的端口
或者
OpenBSD netstat 语法
OpenBSD查询被占用的端口
或者
方法三:使用`nmap`命令查询Linux被占用的端口
默认情况下,Linux发行版并没有默认安装nmap命令,
CentOS系统安装nmap
Ubuntu系统安装nmap
使用nmap查询本机被占用的端口
查询Linux系统被占用的UDP端口
查询Linux系统被占用的TCP端口
你可以同时查询被占用的TCP和UDP端口
结论:
本教程解释了如何在Linux系统上使用命令行查询TCP或者UDP端口是否被占用。有关更多信息,请参见nmap命令和lsof命令页面
要获取某个IP地址或者服务器上开启的端口需要用到扫描器,在Linux平台,一般使用namp这款扫描器。
1、命令行扫描
比如扫描192.168.1.1的目标机是否开启80web服务、21ftp服务,23telnet服务,则可以执行:
#nmap-p80,21,23 192.168.1.1
上图的扫描结果即表示目标机192.168.1.1开启了相应的端口。
2、GUI界面扫描,Zenmap是Nmap官方提供的图形界面程序,操作更加方便,比如扫描Google的服务器端口。只需要在Zenmap中添加目标服务器为Google即可。
linux centos7 测试端口的连通性, 分别测试TCP端口与UDP端口
安装nc命令
一、nc命令检测端口的用法
1 这个需要Linux服务器里边支持nc命令,检查NC 是否安装
2 安装nc
3 探测端口
错误信息如下
百度了半天没一个结果, google了一下就有结果了, 经测试成功.
4 原因分析:
-z参数原为扫描目标port是否打开, TCP三次握手成功则ok
但CentOS7新版的nc命令已取消了-z, 需输入重定向 /dev/null 才能成功
5 探测 udp: 通过 nc -h 可以看出,只需要加个 -u 即可。
更多高级应用参考:
使用tcpdump命令来抓取监听端口数据:
tcpdump tcp port 5555 host 210.27.48.1
该命令作用为监听主机210.27.48.1端口5555上的通讯包。
LLDP 可以让你准确的知道服务器所连接的交换机端口号。
LLDP是一种工业标准协议,用于取代EDP或CDP等专用链路层协议。LLDP的目标是提供一个inter-vendor兼容机制,向相邻网络设备发送链路层通知。
lldpd是一个LLDP协议的一种实现,给各种Unixes使用。除此之外,它还支持一些专有协议。
实现交换机端口的抓取,目前我知道的有两种工具,一种是lldpad,另一种是lldpd。
这两个工具做了一下对比,最终选择了lldpd。原因如下:
lldpad:
lldpd:
通过对比可以看到lldpad最近一次更新,已经是5年前了。而lldpd的最近一次更新在本月。
lldpd可以将输出的信息转化为json格式,非常方便使用。
需要先配置好配置好epel-release源,然后直接yum安装即可。
安装好之后,你可以修改/etc/sysconfig/lldpd文件,来配置一些参数。
lldpd有两个模块。一个是lldpd的后台程序,用于接收和发送LLDP报文;一个是lldpcli用来查询和配置后台程序的工具。
将上述命令,加上 -f json 可以转变输出结果。这个功能非常有用,有利于自动化处理这些数据。
使用x722 LOM,当lldpad启动时,lldptool -L adminStatus = rxtx -i interface name然后lldptool -tni interface name运行时,NIC端口连接到启用了LLDP的交换机,不会返回LLDP信息。 (其中LLDP =链路层发现协议)
运行commnand " echo lldp stop / sys / kernel / debug / i40e / PCIe路径 / command" ;.由于LOM没有FCoE功能,没有DCBx要求,所以没有真正的功能影响。 (FCoE =以太网光纤通道)
根据Intel设计,x722适配器默认处理所有LLDP流量,LLDP流量将不会转到主机CPU,除非使用在x722中停止LLDP功能的命令。