文章目录 功能 语法 示例 lsof -i 显示 tcp,udp 的端口和进程等相关 查看服务器 80 端口的占用情况 使用 -p 查看指定进程打开的文件 更多命令 功能 lsof(list open...lsof 需要访问核心内存和各种文件,需要以 root 用户的身份运行。...语法 语法格式:lsof -i:端口号 ---- 示例 lsof -i 显示 tcp,udp 的端口和进程等相关 [root@VM-24-3-centos ~]# lsof -i |more COMMAND...lsof -i4: 查看IPv4文件 lsof -i6: 查看IPv6文件 lsof -i TCP:80 查看TCP协议80端口占用情况 lsof -c lsof 查看lsof命令使用的所有文件 lsof...local/:同上,但是会搜索目录下的目录,时间较长 lsof -d 4:显示使用fd为4的进程 lsof -i -U:显示所有打开的端口和UNIX domain文件
(*net.TCPAddr).Port ip := l.Addr()....(*net.TCPAddr).IP fmt.Println(ip, port) ifaces, _ := net.Interfaces() // handle err for _, i :=...(type) { case *net.IPAddr: fmt.Println(v.IP) } } }
因此,需要基于 IP 之上开发能和应用打交道的协议,最常见的是“用户数据包协议(User Datagram Protocol)”,简称UDP。...UDP 中一个最重要的信息是端口号,端口号其实就是一个数字,每个想访问网络的程序都需要绑定一个端口号。...通过端口号 UDP 就能把指定的数据包发送给指定的程序了,所以IP 通过 IP 地址信息把数据包发送给指定的电脑,而 UDP 通过端口号把数据包分发给正确的程序。...和 IP 头一样,端口号会被装进 UDP 头里面,UDP 头再和原始数据包合并组成新的 UDP 数据包。UDP 头中除了目的端口,还有源端口号等信息。 简化的 UDP 网络四层传输模型 ?...和 UDP 头一样,TCP 头除了包含了目标端口和本机端口号外,还提供了用于排序的序列号,以便接收端通过序号来重排数据包。 简化的 TCP 网络四层传输模型 ?
测试 TCP 端口: telnel IP PORT nc -vz IP PORT 测试 UDP 端口: nc -vuz IP PORT 其中 -u 表示使用 udp 协议来进行测试。... Use UDP instead of default TCP 具体选项的功能,可以观察man page 来进行查询。...udp 端口示例: [root@docker log]# nc -vuz 127.0.0.1 6666 Ncat: Version 7.70 ( https://nmap.org/ncat ) Ncat...Wed Mar 27 15:22:34 2019 Ncat: UDP packet sent successfully Ncat: 1 bytes sent, 25 bytes received in...这是测试监听 udp 6666 端口的 nc 命令返回情况。
有时容器需要以host+随机端口的形式起动,可以前置执行这个脚本获取机器的IP和端口 getipport.py import socket import os import sys import...fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM...0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]) ttype = sys.argv[1] if ttype == "ip...": ip = get_ip_address(os.getenv("eth", "eth1")) print(ip) else: s = socket.socket(socket.AF_INET...=`python getipport.py ip` echo $ip port=`python getipport.py port` echo $port export listen_ip=$ip
大家好,又见面了,我是你们的朋友全栈君。 目录 一、 使用wget判断 二、使用telnet判断 ---- 一、 使用wget判断 wget是linux下的下载工具,需要先安装....用法: wget ip:port wget ip:port 连接存在的端口 连接不存在的端口 二、使用telnet判断 telnet是windows标准服务,可以直接用;如果是linux机器,需要安装...用法: telnet ip port telnet ip port 安装telnet 1、检测telnet-server的rpm包是否安装 rpm -qa telnet-server 若无输入内容,...出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的。...参数为 -n count Linux 参数为 -c count 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
服务端口为9511,所以下面截图的案例其实就是监听服务开启的端口,有哪些请求来源数据。...三、请求端口监听:src tcpflow -ci eth0 src port 9092:监听来源端口为9092的网络包数据。说白了,是请求端口为9092的服务的数据。...指定抓包的协议类型。我们可以只抓某种协议的包,tcpdump 支持指定以下协议:ip、ip6、arp、tcp、udp、wlan 等。...如果想要对某个特定的端口抓包,可以通过以下命令:root@kali:~# tcpdump -i eth0 port 22 9. 抓取特定目标 ip和端口 的包。...网络包的内容中,包含了源ip地址、端口和目标ip、端口,我们可以根据目标ip和端口过滤tcpdump抓包结果,以下命令说明了此用法: 示例:root@kali:~# tcpdump -
举个例子,要测试的 ip+port: 192.168.0.100:8080 使用 telnet 命令 telnet 192.168.0.100 8080 连通成功: Trying 192.168.0.100...PORT STATE SERVICE 8080/tcp open http Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds...PORT STATE SERVICE 8080/tcp closed unknown Nmap done: 1 IP address (1 host up) scanned in 0.06
大家好,又见面了,我是你们的朋友全栈君。...在workerman开发过程中需要安装redis来存储用户ip、端口等信息 首先UBUNTU中安装redis: apt-update //更新apt包源apt-get install redis-server...—-redis的配置文件 /usr/bin/redis-server—————redis的自启动文件 如果是单实例运行redis的话,那么到这里就不需要关心了,如果你想运行多个redis的实例,那么就需要对...首先我们要知道redis一个实例就是一个节点,每个节点分配一个端口号,每个节点对应一个redis.conf配置文件。...redis默认配置的端口号是6379,假设现在要多配置一个6380,我们可以直接复制redis.conf命名为redis6380.conf,并且编辑配置文件 cp /etc/redis/redis.conf
: systemctl enable firewalld 重新加载配置 firewall-cmd --reload 重启防火墙 service firewalld restart 查看已经开放的端口...firewall-cmd --list-ports 关闭已开放的端口,以80端口为例 firewall-cmd --permanent --remove-port=80/tcp 批量开放80到90...之间的所有端口 firewall-cmd --zone=public --add-port=80-90/tcp --permanent 批量关闭80到90之间的端口 firewall-cmd --permanent...--remove-port=80-90/tcp --remove-port=80-90/tcp 限制单个ip,限制192.168.1.100这个ip访问80端口 firewall-cmd --permanent...,限制192.168.3.x的所有ip访问80端口 firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address
大家好,又见面了,我是你们的朋友全栈君。...http://blog.chinaunix.net/uid-20644632-id-4115863.html 使用snmptrap发送SNMP trap 2014-02-21 13:55:33 分类: LINUX...等工具可以实现trap的发送和接收,下面是具体做法。...为了简单,我们没有指定收到trap后对应的处理程序。...查看snmptrapd的log信息,可以看到我们发送的trap: 2014-01-14 17:08:13 localhost [UDP: [127.0.0.1]:59609->[127.0.0.1]
这两个地址保证一个报文可以由一台windows主机到达一台linux主机,但并不能决定一个chrome浏览的GET请求可以到达linux上的nginx。 4、传输层主要包括TCP协议和UDP协议。...这一层最主要的任务是保证端口可达,因为端口可以归属到某个进程,当chrome的GET请求根据IP层的destination IP到达linux主机时,linux操作系统根据传输层头部的destination...所以传输层无论什么协议其头部都必须有源端口和目的端口。例如下图的UDP头部: ?...这样做的原因是既可以在内核中保存有5元组(源ip、源port、目的ip、目的端口、UDP协议),以使得该源端口仅接收目的ip和端口发来的UDP报文,又可以反复使用send方法时比sendto每次都上传递目的...图6 nginx做udp反向代理时的DSR方案(upstream有公网) 这套DSR方案与上一套DSR方案的区别在于:由upstream服务所在主机上修改发送报文的源地址与源端口为nginx的ip和监听端口
Linux 终端获取本机公网 IP 的方法# 下方任意命令均可: $ wget -qO- https://ipecho.net/plain ; echo $ curl https://ipecho.net.../plain $ curl https://ipecho.net/plain ; echo $ curl https://ipinfo.io/ip $ curl icanhazip.com $...*Current IP Address: //' -e 's/<.*$//' References# Command for determining my public IP?
,而是返回一个 ICMP 超时报文,traceroute 从超时报文中即可提取出数据包所经过的第一个网关的 IP 地址。...因为UDP 常被用来做网络攻击,因为 UDP 无需连接,因而没有任何状态约束它,比较方便攻击者伪造源 IP、伪造目的端口发送任意多的 UDP 包,长度自定义。...如图,以第一跳和第五跳为例,对比抓包可以看出,第一组(每次发三个包)UDP 的 request 数据包 TTL 值为1,在到达第1个路由节点后,TTL减1后为0,则不继续传递,返回一个 ICMP 超时报文...,这时客户端获取到了第1个路由节点IP,与traceroute测试信息相符 ?...第五跳时,发送的 request 数据包 TTL 值为5,在到达第5个路由节点后,TTL减为0,则不继续传递,返回一个 ICMP 超时报文,这时客户端获取到了第5个路由节点IP,与traceroute测试信息相符
ICMP协议经常被IP层或者更高层协议使用,比如TCP、UDP。ICMP报文有两种类型:差错报告报文和查询报文。...UDP的规则之一是,如果收到一份UDP数据报,而目的端口与某个正在使用的进程不符,那么UDP返回一个ICMP不可达报文。 (ICMP报文是在主机之间进行交换的,不是目的端口号。...UDP是从一个 端口号发给另一个端口号。) Filtering ICMP ICMPv6 Packets with Tcpdump 4.ICMP差错报文的产生?...ICMP知道如何解释原始IP数据报中的前8个字节,不论是UDP函数TCP,前8个字节都是源端口号和目的端口号,如果源端口号和目的端口号不符,就会产生ICMP端口不可达的差错报文,即产生了差错报文 5.ICMP...序列号从0开始,每法送一次新的回显请求就加1。我们可以通过ping打印的序列号来确定分组是否有丢失、失序或者重复。 7.ping是如何获取目的主机的地址的? 通过IP记录路由选项。
本篇分为3部分 1:报文格式 2:产生的原因 3:linux协议栈如何处理 4:应用层如何获取 1: 报文如下,10.30.13.1往10.30.16.10的80端口发送了一个UDP报文,80端口其实监听的是...服务器回复了一个类型为端口不可达的ICMP,ICMP数据部分就是请求UDP ip层及其以上的数据。 2:原因 首先原因就是接收udp报文的服务器对应的端口没有开启UDP服务器。...3:Linux内核对UDP处理: (1):作为服务器接受到一个UDP请求: 首先,做为服务器,当一个报文经过查路由,目的ip是上送本机的时候,经过netfilter 判决后, 调用ip_local_deliver_finish...那么作为客户端,如何处理服务器回复的 端口不可达 报文呢? 起始当初想法很简单,我认为,不同的协议之间是不会干涉的,即TCP和UDP直接是不会干涉的。 何况这种不伦不类的icmp?后来想错了。...所以说,为了获取udp端口不可达的情况 有2种方法: (1): int val = 1; setsockopt(fd, IPPROTO_IP, IP_RECVERR , &val,sizeof(int)
所以只能寻求另一种办法,就是用socat工具来完成端口转发,如果你只有少数几个端口要转发的话,那么socat就是比较好的选择了。...socat唯一麻烦的地方就是好像我没找到如何转发端口段,只能一个命令一个端口。不过如果只是自用转发少量端口的话还是蛮好用的。...10000改成你自己需要转发的端口 fork TCP4:1.1.1.1:10000`转发到1.1.1.1的10000端口,根据需求修改自行修改ip和端口 nohup后台运行。...2、转发UDP nohup socat -T 600 UDP4-LISTEN:10000,reuseaddr,fork UDP4:1.1.1.1:10000 >> socat.log 2>&1 & 很方便吧...把tcp改成udp就是转发udp了。说明如上。也可以直接写到/etc/local里面开机自动启动。
->协议:UDP,几乎是直接和网络层的IP协议通信.在两个进程通信之前没有握手的过程, 因此称为无连接服务.当一端需要发送报文时, 通过UDP套接字发送报文,UDP不保证有序, 不保证一定被接收端收到....从编码角度看 TCP UDP的区别如下图: 4.Socket 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。...它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。...总结区别 协议 层次 描述 TCP 传输层 面向连接的可靠传输协议. TCP/IP 协议栈,或称为一种网络服务模型. 网络层只提供面向无连接的服务.传输层提供TCP和UDP两种连接方式....HTTP 应用层 它是建立在TCP/IP协议之上的一种应用协议.缺省端口是80. 提供服务端和客户的请求应答的过程. 请求结束后, 主动释放连接.
linux获取本机ip命令的几种方法 方法1 :ifconfig eth0|grep 'inet addr'|awk-F ":"'{print $2}'|awk '{print $1}' 方法2:ifconfig
20 May 2016 go获取机器的mac地址和ip 开发中常需要获取机器的mac地址或者ip,本文通过go获取机器上所有mac地址和ip,详细代码如下...ipNet.IP.IsLoopback() { if ipNet.IP.To4() !...main() { fmt.Printf("mac addrs: %q\n", getMacAddrs()) fmt.Printf("ips: %q\n", getIPs()) } 输出: linux...:e0:66:07:5c:97:00:00" "08:00:27:00:d8:94:00:00"] ips: ["192.168.1.101" "169.254.167.46"] 特别指出 go语言在获取机器的...mac地址和ip时,windows和linux输出格式不一样,比如windows获取的mac地址是8个字节,而linux获取的mac是6个字节,ip异同可以参考这篇博客: go获取windows的hostid
领取专属 10元无门槛券
手把手带您无忧上云