小编mis*_*yes的帖子

多个域名可以共用一个IP地址吗?

多个域名可以共用一个IP地址吗?例如 www.xjtl.com、www.fmie.com、sdmfl.com 等。

数百个域名只共享一个 IP——当您对每个域名进行 DNS 查询时,会返回相同的 IP。

是否有任何法律或互联网规则不允许这样做?

dns internet web www ip

51
推荐指数
4
解决办法
14万
查看次数

如何使 tcpdump 显示 ip 和端口号,但不显示主机名和协议

我正在使用 tcpdump 进行一些测试,我想查看 IP 和端口号,但 tcpdump 的输出就像

IP pl1snu.koren.kr.http > kitch.pl.sophia.inria.fr.dnp: Flags [P.], seq 54:72, ack 1, win 5792, length 18
Run Code Online (Sandbox Code Playgroud)

它只显示主机名和 http 协议,很容易知道它是 80 但对于 dnp 我必须搜索

那么是否有可能如何使 tcpdump 显示 ip 和端口号,但不显示主机名和协议,如果是这样,如何?谢谢

networking linux tcpdump

51
推荐指数
2
解决办法
14万
查看次数

如何将条目添加到本地 DNS 解析器

我想在linux上做一些测试。我想在一台 IP 为 1.2.3.4(假设)的机器上放置一个小型网络服务器,当对特定 URL 进行 DNS 查询时:kitty.myweb.com 我想返回这个 IP 地址。

场景:

  1. 当我打开浏览器(firefox 或其他)时,我输入 URL kitty.myweb.com,浏览器将执行 DNS 查询
  2. 我想编写一个程序来对 kitty.myweb.com 进行 DNS 查询

我知道每台计算机都有一个本地 DNS 解析器来缓存一些条目;对 URL 的调用将首先查询本地 DNS 解析器,如果没有相应的条目,它将查询发送到 LAN 或 Internet 上的外部 DNS 解析器。

我想要的是向本地 DNS 解析器添加一个条目 (kitty.myweb.com : 1.2.3.4),这样对于上述 2 个场景,DNS 响应将是 1.2.3.4,而无需进行外部查询。

是否可以在 linux 上执行此操作,如果可以,如何执行?是否有任何 C 代码片段可以做到这一点?

networking linux dns

22
推荐指数
2
解决办法
11万
查看次数

如果 TCP 数据包得到部分确认,重传机制将如何反应?

如果 tcp 客户端向 tcp 服务器发送一个序列号从 10000 到 20000 的数据包。tcp 将以 seq_ack 20001 的 ACK 响应。

如果我拦截来自客户端的 TCP 数据包,并将数据包分成 2 个 tcp 段,一个 seq 从 10000 到 15000,另一个 seq 从 15001 到 20000。然后这 2 个 TCP 段被发送到 TCP 服务器。假设第二段在路径中丢失。TCP 服务器将使用 seq_ack 15001 响应 ACK。

现在,由于 TCP 客户端发送了一个 seq 10000 到 20000 的完整数据包,但它收到了 15001 的 ACK,从客户端的角度来看,这很奇怪。它会如何反应?理论上,客户端应该重传seq 15001到20000的字节,即客户端会从seq 15001传输新的数据包。但实际情况如何,在TCP堆栈实现中,是否和理论上一样?

我认为在 TCP 发送缓冲区中,当发送一个 tcp 段时,该段仍然停留在那里,直到 ACK。当 ACK 到来时,该段的这些字节将从缓冲区中清除。发送缓冲区中有一个指针,当一个ACK来的时候,指针指向ack_seq对应的位置。ack_seq 之下的字节被清除。这样整个段就不用重传了吧?

networking tcp

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

ifconfig:找不到命令

我通过 ssh 进入root安装了 Fedora 18的远程机器。我输入了

ifconfig
Run Code Online (Sandbox Code Playgroud)

但我得到了

ifconfig: command not found
Run Code Online (Sandbox Code Playgroud)

并且

     [root@kitch proxy]# /sbin/ifconfig
     -bash: /sbin/ifconfig: No such file or directory
    [root@kitch proxy]# sudo yum provides ifconfig
    fedora/filelists_db                                                                                                          |  25 MB  00:00:04
    updates/filelists_db                                                                                                         |  12 MB  00:00:02
    net-tools-2.0-0.2.20121106git.fc18.x86_64 : Basic networking tools
    Repo        : fedora
    Matched from:
    Filename    : /sbin/ifconfig
Run Code Online (Sandbox Code Playgroud)

然后我输入 ip link show

        [root@kitch proxy]# ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> …
Run Code Online (Sandbox Code Playgroud)

networking linux fedora

10
推荐指数
3
解决办法
6万
查看次数

traceroute 结果中的私有地址

我通过 SSH 连接到远程主机194.199.68.165,然后使用 traceroute 检查到 的路径132.227.62.122,我注意到有一些私有 IP,例如 10.230.10.1

    bash-4.0# traceroute -T 132.227.62.122
    traceroute to 132.227.62.122 (132.227.62.122), 30 hops max, 60 byte packets 
     1  194.199.68.161 (194.199.68.161)  1.103 ms  1.107 ms  1.097 ms
     2  sw-ptu.univ.run (10.230.10.1)  1.535 ms  1.625 ms  2.172 ms
     3  sw-univ-gazelle.univ.run (10.10.20.1)  6.891 ms  6.937 ms  6.927 ms
     4  10.10.5.6 (10.10.5.6)  1.544 ms  1.517 ms  1.518 ms
     5  194.167.142.22 (194.167.142.22)  2.993 ms  2.985 ms  2.976 ms
Run Code Online (Sandbox Code Playgroud)

为什么主机附近有私有地址?

使用这些私有地址的目的是什么?我的意思是他们为什么要将公共 IP 置于私有 IP 之后?

谢谢!

networking routing private-network traceroute

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

openvpn 用法:如何修改 IP 地址以及如何删除 tun 接口?

我使用 openvpn 在 linux 上创建了一个 tun 接口

openvpn --mktun --dev tun2
ip link set tun2 up
ip addr add 10.0.0.2/24 dev tun2
Run Code Online (Sandbox Code Playgroud)

现在想修改ip地址为10.0.0.1/16,怎么做?此外,如何去除tun2

谢谢

linux openvpn

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

将 python Paramiko 用于 ssh:sudo:不存在 tty 且未指定 askpass 程序

我想使用paramikossh 进入一堆远程节点并运行一些具有root特权的命令行

我的主目录中有 ssh 密钥,因此当我通过 ssh 进入这些远程节点时不需要输入密码

但是在运行以下脚本时:

    def connect(hostname):
                    ssh = paramiko.SSHClient()
                    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())               
                    ssh.connect(hostname, username='niky', pkey=paramiko.RSAKey.from_private_key(open('id_rsa'), 'passwd'), timeout = 240.0)                return ssh          



    def run(hostname):
            ssh = connect(hostname)
            (stdin, stdout, stderr) = ssh.exec_command("sudo ls")
            res = stderr.readlines()
            print hostname+': '+''.join(str(elem) for elem in res)+'\n'

    run(remote.nity.com)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

remote.nity.com: sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

如果我sudols 一切正常之前不添加,潜在的原因是什么?谢谢!

linux ssh python

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

查找正在侦听特定端口的进程

例如,我想找到一些在指定端口上运行的进程80

我跑了

fuser 80/tcp
Run Code Online (Sandbox Code Playgroud)

并一无所获

进而

netstat -tulpn|grep "80\|PID"
Run Code Online (Sandbox Code Playgroud)

并得到了

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 :::80                       :::*                        LISTEN      -  
Run Code Online (Sandbox Code Playgroud)

PID 是-

那么是什么-意思呢?谢谢!

networking tcp netstat

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

TCP 如何获取特定路径的 MSS 值?

当 TCP 客户端发起与远程 TCP 服务器的 TCP 连接时,它将在 TCP 选项中宣布其 MSS。

我不知道 TCP 如何知道路径 MSS 值。该值特定于客户端和服务器之间的路径,一般来说,可以通过路径 MTU 检测来获取该值,但那是在 TCP SYN 数据包发送之前,会造成一些延迟。

那么,在实践中,TCP 是如何获取某条路径的 MSS 值的呢?

networking tcp

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

标签 统计

networking ×7

linux ×5

tcp ×3

dns ×2

fedora ×1

internet ×1

ip ×1

netstat ×1

openvpn ×1

private-network ×1

python ×1

routing ×1

ssh ×1

tcpdump ×1

traceroute ×1

web ×1

www ×1