标签: ip

Applescript 中的 shell 输出

我想知道如何从 Applescript 中 shell 命令的输出中仅提取某些数据。我希望能够仅通过“ping -o”命令将 IP 地址传递到变量中,如下所示:

   do shell script "ping -o " & blockedURL

    -- Set the IP to blockedIP -- 

    set blockedIP to ..
Run Code Online (Sandbox Code Playgroud)

但我收到这个:

“PING example.com (192.0.43.10):来自 192.0.43.10 的 56 个数据字节 64 个字节:icmp_seq=0 ttl=239 time=101.587 ms

--- example.com ping 统计数据 --- 发送 1 个数据包,接收 1 个数据包,往返 0.0% 数据包丢失 min/avg/max/stddev = 101.587/101.587/101.587/0.000 ms"

当我执行 ping 命令时,我收到了大量不需要的数据。有什么办法可以只回忆起吗(192.0.43.10)

ip applescript ping

1
推荐指数
1
解决办法
928
查看次数

使用 PHP 从 ifconfig 获取 IP 地址

我有下一个 php 代码:

<?php
   $ip = shell_exec("/sbin/ifconfig  | grep 'inet:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'");
   echo $ip;
?>
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行它时($php5 ip.php),它工作正常,但是当我从浏览器运行它时,它什么也不显示(http://localhost/ip.php)。

顺便说一句,我正在尝试打印我的 IP 地址,但每当我使用时,$_SERVER['SERVER_ADDR'];我都会得到127.0.0.1.

php ip ifconfig

1
推荐指数
1
解决办法
1万
查看次数

确定 RTP 流中 H.264 I 帧的结尾

我处理来自 IP 摄像机的 H.264 RTP 流。我使用的相机将每个 I 帧分割为多个 NAL 单元,每个单元又分割为 RTP 数据包(开始和结束标志决定每个单元的尺寸,而不是帧的尺寸)。

我如何知道帧传输何时完成并且我有足够的数据来解压缩它?由于帧由多个单元组成 - 标志不能用于确定其结束。

我工作过的大多数相机都会将每个帧分割为 RTP 数据包,其中标志确定帧的开始和结束。因此,我从等待结束标志的数据包中解压数据 - 这是一个完整的帧。

我从这台相机获得的 NAL 单元的序列是:

[NAL_UT_SPS] 序列参数集 +

[NAL_UT_PPS] 图片参数集

[NAL_UT_SEI] 补充增强信息

[NAL_UT_IDR_SLICE] I 帧图像数据的第 1 部分

[NAL_UT_IDR_SLICE] I 帧图像数据的第 2 部分

[NAL_UT_IDR_SLICE] I 帧图片数据的第 3 部分

[NAL_UT_SLICE] 第一个 P 帧

[NAL_UT_SLICE] 第二个 P 帧

[NAL_UT_SLICE] 第 3 个 P 帧

...

从这个序列中可以明显看出,我可以将 [NAL_UT_SPS] + [NAL_UT_PPS] + [NAL_UT_SEI] + 3*[NAL_UT_IDR_SLICE] 组合成一个 I 帧,我将在最近将其提供给解码器。但如何确定有多少个图片数据部分呢?当我收到第 #X 部分时,我如何知道它不是序列中的最后一个?

有任何想法吗?

compression ip camera rtp h.264

1
推荐指数
1
解决办法
3639
查看次数

Modbus4J Modbus RTU 主站

目前我正在使用施耐德电力逻辑电气设备。我想从设备读取数据并在系统中显示该值。到目前为止,我发现了 J2mod、Jamod 和 Modbus4Java 库。我使用了所有modbus4java来连接并获取设备的数据。

实际上我仍然很困惑是否应该创建主端或从端。根据我的理解,该设备将是从站,我的系统将是主站(第一个问题)。

以下是我的设备上的设置。表示设备处于从机模式,协议为Modbus RTU。那么,我需要创建一个使用 ModbusRTU 协议与其通信的主应用程序,对吗?(第二个问题)

  • 模式:从属
  • 协议:Modbus RTU
  • 地址1
  • 波特率:38400
  • 奇偶校验:无

下面是我的应用程序作为主站并使用 ModbusRTU 协议的代码

public static void main(String[] args) throws ModbusTransportException, ErrorResponseException {
    ModbusFactory factory = new ModbusFactory();  

    SerialParameters params = new SerialParameters();  
    params.setCommPortId("COM6");  
    params.setBaudRate(9600);  
    params.setDataBits(8);  
    params.setStopBits(1);  
    params.setParity(0); 

    ModbusMaster master = factory.createRtuMaster(params);  

    master.setTimeout(1000);  
    master.setRetries(0);  
    long start = System.currentTimeMillis(); 

    try {
        master.init();
    } catch (Exception e) {
        System.out.println( "Modbus Master Init Error: " + e.getMessage());  
          return; 
    }

    try {  
        System.out.println("Reg. 1001 Value:" + master.getValue(1, RegisterRange.HOLDING_REGISTER, 3110, …
Run Code Online (Sandbox Code Playgroud)

java ip modbus master-slave modbus-tcp

1
推荐指数
1
解决办法
8636
查看次数

Amazon EC2 Web 服务器在 PHP 中显示不正确的客户端 IP

我有一个负载均衡器和三台使用 Linux 和 Apache 的 EC2 Web 服务器。每当我$_SERVER['REMOTE_ADDR']在 PHP 中使用获取网站访问者的 IP 地址时,它都会显示错误的 IP 地址。当我在 Whois 数据库中检查 IP 时,我会发现它是一个保留的 IP。我猜它是AWS本身另一台服务器的IP而不是客户端的IP。如何在 EC2 服务器中使用 PHP 获取正确的客户端 IP?

php ip amazon-ec2 amazon-web-services

1
推荐指数
1
解决办法
1420
查看次数

在 Golang 中检查 IP 地址切片中的 IP 的有效方法

我正在 Golang 中开发一个网络应用程序。我有一个 IP 地址片段。每次收到请求时,我都会用来net.LookupIP(host)查找返回net.IP. 比较这些的最佳方法是什么?

顺便说一句,在 Python 中我们有一个set数据结构,这使得上面的问题很容易解决,但是 Go 呢?

arrays ip network-programming go slice

1
推荐指数
1
解决办法
4318
查看次数

无论协议如何,如何使用 tshark 获取源端口和目标端口?

我正在尝试从数据包中获取一些字段,例如目标 ip = ip.dst; 但是我不确定源端口和目标端口的 id 是什么。据我所见,它们似乎是特定于协议的,即 udp = udp.destport; 但是我想知道是否有办法无论协议如何都可以获取端口。下面是我尝试过的示例:

-n -T fields -E separator=, -e frame.time -e ip.src -e ip.dst -e ip.proto -e tcp.port -e ip.len -e tcp.flags.push'

---祝福。

ip networking tcp wireshark tshark

1
推荐指数
1
解决办法
1万
查看次数

从本地机器上的 Mongo Compass 连接到 Mongo Docker 容器?

我有以下docker compose文件,用于启动mongo按预期工作的docker 容器。

但是,我似乎无法从compass本地计算机连接到容器。

docker inspect在我的 mongo 容器上执行并得到它IP并尝试使用指南针连接,但它没有用 - 连接超时。

它是我的 docker 网络的 IP 还是我需要的 mongo 容器的 IP?

码头工人撰写文件:

version: "3"
services:
  pokerStats:
    image: pokerStats
    container_name: pokerStats
    ports:
      - 8080:8080
    depends_on: 
      - db
  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"
Run Code Online (Sandbox Code Playgroud)

ip mongodb docker docker-compose mongodb-compass

1
推荐指数
1
解决办法
3511
查看次数

地址已被使用 - FastAPI

我一直收到[Errno 98] Address already in use但是地址没有被使用。我试图更改 ip 和端口,但它没有改变。


from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def main():
return {"message": "Helloworld?FastAPI"}


if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)


Run Code Online (Sandbox Code Playgroud)

uvicorn main:app --reload 也试过了,uvicorn main:app --host=172.0.0.2 --port=5000 它让 [Errno 99] error while attempting to bind on address ('172.0.0.2', 5000): cannot assign requested address 我尝试运行一个烧瓶开发服务器,它也在 172.0.0.1 上运行没有问题?

使用 Arch-Manjaro-Linux

我用 nmap 看看有什么大惊小怪的。

但是127.0.0.1 IP上只有 2 个端口在使用

PORT     STATE SERVICE
631/tcp  open  ipp
8000/tcp open  http-alt
Run Code Online (Sandbox Code Playgroud)

我会使用另一个 …

python linux ip port fastapi

1
推荐指数
1
解决办法
1797
查看次数

为什么 Java 将某些 IPv6 地址解释为 IPv4?

为什么某些 IPv6 地址在使用时会转换为 IPv4 地址InetAddress.getByName

例如,我希望这两个地址::f:f:f::ffff:f:f转换为Inet6Address

然而,这个::ffff:f:f变成Inet4Address

import java.net.InetAddress;
class Main {
  public static void main(String[] args) throws Exception {
    // Interpreted as IPv6
    var address = InetAddress.getByName("::f:f:f");
    System.out.println(address); // /0:0:0:0:0:f:f:f
    System.out.println(address.getClass()); // class java.net.Inet6Address
    
    // Interpreted as IPv4
    address = InetAddress.getByName("::ffff:f:f");
    System.out.println(address); // /103.30.217.152
    System.out.println(address.getClass()); // class java.net.Inet4Address
  }
}
Run Code Online (Sandbox Code Playgroud)

java ip ipv4 ipv6

1
推荐指数
1
解决办法
107
查看次数