博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux网络相关命令使用
阅读量:6861 次
发布时间:2019-06-26

本文共 6262 字,大约阅读时间需要 20 分钟。

A,iptables使用示例

1,将请求80端口的包发送给本机8180端口(这样,别的机器访问本机的80端口时会被转发到8180端口去)iptables -t nat -A PREROUTING -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to-destination 10.6.2.110:8180iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8180用 127.0.0.1 或者本机 IP 来访问本机的端口。本地连接的数据包不会通过网卡,而是由内核处理后直接发给本地进程。这种数据包在 iptables 中只经过 OUTPUT 链,而不会经过 PREROUTING 链。所以需要在 OUTPUT 链中进行 DNAT。除了对 127.0.0.1 之外,对本机 IP (即 10.6.2.110) 的访问也属于本地连接。这样,本机访问本机的80端口时会被转发到8180端口去iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8180iptables -t nat -A OUTPUT -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to 127.0.0.1:8180 2,端口转发到别的虚拟机方式如下echo "1">/proc/sys/net/ipv4/ip_forwardiptables -t nat -A PREROUTING -p tcp -d 10.6.2.110 --dport 80 -j DNAT --to-destination 10.6.2.11:80iptables -t nat -A POSTROUTING -p tcp -d 10.6.2.11 --dport 80 -j SNAT --to-source 10.6.2.1103,禁止某个ip段访问本机web服务iptables -A INPUT  -p tcp -s 124.95.172.128/26 --dport 80 -j REJECTiptables -A INPUT  -p tcp -s 124.95.172.128/26 --dport 80 -j DROP4,其他命令iptables -t nat -D PREROUTING 2        删除某条路由  iptables -t nat -F                    清空路由iptables -t nat -L                    列举,查看网关/本机dns路由附:windows可以用plink实现端口转发等1,将发往本机lo设备8088端口的数据转发到本机eth0设备的3000端口(-L参数,本机开启sshd)plink.exe -C -N -L 127.0.0.1:8088:192.168.201.61:3000 -pw passwd ciaos@192.168.201.612,将发往本机lo设备8088端口的数据转发到远端10.6.2.11的8088端口(-L参数,远端开启sshd)plink.exe -C -N -L 127.0.0.1:8088:10.6.2.11:8088 -pw remote_passwd root@10.6.2.113,将发往本地lo设备8080端口的数据转发到远端10.6.2.11机器的80端口(-R参数,本机开启sshd)plink.exe -C -N -R 127.0.0.1:8088:10.6.2.11:80 -pw passwd ciaos@192.168.201.61-C 启用压缩-N 不开启shell用plink.exe还可以配置Socket 5代理(代理服务器需要开启sshd服务) plink.exe -C -N -D 本机IP:本机端口 -pw huaweiNB root@代理服务器IP4,外部请求转到127.0.0.1端口# iptables -t nat -I PREROUTING -p tcp -d [公网IP] --dport 8080 -j DNAT --to-destination 127.0.0.1:80# sysctl -w net.ipv4.conf.eth1.route_localnet=1其中,请用ifconfig确定本机的外网地址(在上面的例子中为公网IP)是eth0还是eth1。步骤二中,要用对应的eth。将步骤二修改的变量修改到配置文件/etc/sysctl.conf中,重启可以保留。

B,traceroute使用示例

traceroute [-dFlnrvx][-f
<存活数值>
][-g
<网关>
...][-i
<网络界面>
][-m
<存活数值>
][-p
<通信端口>
][-s
<来源地址>
][-t
<服务类型>
][-w
<超时秒数>
][主机名称或IP地址][数据包大小]windows工具如下tracert -d -h maximum_hops -j host-list -w timeout target_host参数的作用:-d 指定不将地址解析为主机名-h maximum_hops 指定搜索目标地址时的最大跃点数-j host-list 指定沿主机列表的松散源路由-w timeout 由每个回复的 timeout 指定的等待毫秒数target_host 指定目标主机的名称或 IP 地址。

C,tcpdump使用示例(windows可以使用wireshark或者httpanalyzer)

tcpdump -s 0 -l -w - dst host 10.6.2.110 and port 80 | strings   查看指向目标主机及端口的数据包tcpdump -s 0 -l -w - dst host 10.6.2.110 and port 80 > file         同上,保存结果到file文件tcpdump host 10.6.2.110 and \(10.6.2.245 or 10.6.2.11 \) and port 80   截获主机10.6.2.110 和主机10.6.2.11或10.6.2.245的通信tcpdump -s 0 -l -w - ip host 10.6.2.110 and ! 10.6.2.245  除了和主机10.6.2.245之外所有主机通信的ip包其他格式:tcpdump -i eth0 dst host 10.6.2.245 and src 10.6.2.11 and port 80 -X -s 0 -c 3tcpdump -s0 -A client_ip

D,route使用示例

/etc/sysconfig/network/ifcfg-eth0 网络配置信息route -n 查看默认路由及网关 (或ip route show)route del default gw 10.6.2.1  删除默认网关route add default gw 10.6.2.110 配置默认网关添加路由(访问192.168.193.0网络就会从网关10.6.2.110走)route add -net 192.168.193.0 netmask 255.255.255.0 gw 10.6.2.110route add –host 192.168.193.110 dev eth0:1(访问主机192.168.193.110会从网卡eth0:1走)windows添加删除路由示例route delete 10.6.0.0route add 10.6.0.0 mask 255.255.0.0 192.168.200.1 /p

E,ifconfig使用示例

ifconfig eth0 10.6.2.112 netmask 255.255.255.0 修改ip及子网掩码配置eth0别名设备 eth0:1 的IP,并添加路由ifconfig eth0:1 192.168.4.2 设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up(关闭ifconfig eth0:1 down)ifconfig eth0 mtu 1500 改变网络设备MTU(最大传输单元)的值

F,ip使用示例

ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等ip link set dev eth0:1 (down|up) 等价于 ifconfig eth0:1 (down|up)ip link set dev eth0 mtu 1500 改变网络设备MTU(最大传输单元)的值ip link set dev eth0 address 00:01:4f:00:15:f1 修改网络设备的MAC地址ip link set dev eth0 txqueuelen 100    改变设备传输队列的长度ip addr add 192.168.4.2/24 brd + dev eth0 label eth0:1 等价于ifconfig eth0:1 192.168.4.2ip addr show显示协议地址ip认识的设备ip linkip route     管理路由表条目ip rule      添加策略路由ip neighbour ARP缓冲条目ip address   一个设备的协议地址(ip)maddress     多播地址mroute       多播路由缓冲区条目tunnel       IP上的通道

G,其他命令

arp             查看arp缓存arp –s IP MAC    添加arp记录    (可以伪造arp)arp –d IP        删除 arping -b 10.6.2.47 查看IP对应mac地址,如果有多个返回,说明mac冲突 ping 计算耗时和丢包率,ping的过程按"Ctrl"+"\"按键  ciaos:~ # ping 10.6.2.11  PING 10.6.2.11 (10.6.2.11) 56(84) bytes of data.  64 bytes from 10.6.2.11: icmp_seq=1 ttl=64 time=0.226 ms  64 bytes from 10.6.2.11: icmp_seq=2 ttl=64 time=0.228 ms  64 bytes from 10.6.2.11: icmp_seq=3 ttl=64 time=0.233 ms  3/3 packets, 0% loss, min/avg/ewma/max = 0.226/0.229/0.227/0.233 ms  64 bytes from 10.6.2.11: icmp_seq=4 ttl=64 time=0.220 ms  64 bytes from 10.6.2.11: icmp_seq=5 ttl=64 time=0.200 ms  64 bytes from 10.6.2.11: icmp_seq=6 ttl=64 time=0.183 ms  64 bytes from 10.6.2.11: icmp_seq=7 ttl=64 time=0.259 ms  64 bytes from 10.6.2.11: icmp_seq=8 ttl=64 time=0.270 ms  64 bytes from 10.6.2.11: icmp_seq=9 ttl=64 time=0.256 ms  9/9 packets, 0% loss, min/avg/ewma/max = 0.183/0.230/0.232/0.270 ms  拒绝ping本机 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 查看网络故障的一般顺序 1,ping 127.0.0.1查看tcp/ip是否正常工作 2,ping 局域网ip地址查看网络适配器是否工作以及本地IP正确配置 3,ping 默认网关查看是否连接局域网以及网关是否在工作 4,ping 外网ip查看网关是否正确工作,转发数据包 5,ping 外网域名,查看域名解析是否正常 远程登录局域网电脑 1,下载putty工具包  2,命令行执行 PLINK.EXE -N -P 22  -L 127.0.0.1:13389:10.6.2.59:3389  3,其中"10.6.2.11"可以为公网IP,本机可达;     "10.6.2.59"可以为内网,和本机没有连接,但需要和10.6.2.11连接  原理:本机通过10.6.2.11虚拟机,将发往本机13389端口的数据包发送给10.6.2.59的3389端口,并将数据返回。  这样,直接打开远程登录工具登录127.0.0.1:13389端口就能访问10.6.2.59了,很酷! 注: a,如果远程登录linux机器,命令如下(原理一样,对22端口转发)   PLINK.EXE -N -P 22  -L 127.0.0.1:22:10.6.2.110:22 b,如果公网"10.6.2.11"为windows机器,就更简单了,直接远程桌面,然后再使用远程桌面登录内网windows或者linux 反向ssh(Windows的ssh.exe版本没有-f参数,去掉此参数即可)   0. 在两侧都安装ssh  1. 在被控端运行ssh -f -N -R 10000:受控端ip:22 username@主控端ip。这里的10000和22是端口号,也就是说,在主控端10000端口和被控端的22端口上建立了一个通道,username为主控端用户名。  2. 在主控端运行ssh  -p 10000。这里的username是你被控端的username,10000就是刚才的那个端口号。 (ssh.exe -f -N -R 3000:localhost:3000 root@10.6.2.11)

 隧道技术可参照

稳定的隧道可用autossh,建立好ssh免密码登录后

autossh -f -R 2222:localhost:22 15.28.18.101 -o TCPKeepAlive=yes vmstat 15

转载于:https://www.cnblogs.com/ciaos/p/3191824.html

你可能感兴趣的文章
地对地导弹地对地导弹地对地导弹
查看>>
让div 充满整个body
查看>>
程序员保持快乐活跃的6个好习惯(转)
查看>>
找工作的一些感悟——前端小菜的成长
查看>>
jSON Call can throw but it is not marked with try
查看>>
Javascript图片裁切
查看>>
Android -- Serializable和Parcelable需要注意的
查看>>
Apache -- phpmyadmin导入文件过大
查看>>
我的友情链接
查看>>
一分钟看懂Docker的网络模式和跨主机通信
查看>>
数据中悲观锁和乐观锁的理解
查看>>
能想到登录失败是这原因么
查看>>
Shiro 权限管理filterChainDefinitions过滤器配置
查看>>
我的友情链接
查看>>
Python 文件I/Oday14
查看>>
回忆Spring IOC 几个注解&简单示例
查看>>
及时更新网卡驱动可使无线网络更稳定
查看>>
在if中赋值,但在if外却提示“使用了未赋值的局部变量”
查看>>
MapReduce源码之OutputFormat
查看>>
资质申报 - 系统集成企业资质等级评定条件实施细则
查看>>