网络编程总结
对cookie的使用:
curl -D cookie.txt 192.168.3.217:7788/mytest.txt #dump cookie to cookie.txt
curl -b cookie.txt 192.168.3.217:7788/mytest.txt #use cookie.txt as a cookie to connect 192..
系统对 ping 的响应:
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
设置默认网关:
route add default gw xx.xx.xx.xx
gateway=`route -n| grep "0.0.0.0".*UG.*$eth | awk '{print $2}'`
route delete default gw $gateway
route add default gw 192.168.1.217
CPAN安装模块:
首先下载CPAN安装然后,
perl -MCPAN -e "shell"
perl -MCPAN -e "install xx module"
NetSNMP::TrapReceiver 用CPAN安装工作有问题出现 netsnmp_free undefined错误。
使用源文件安装问题解决,版本为 5.0401,可能出现version不匹配的问题,按照提示export NETSNMP_DONT_CHECK_VERSION=1 即可。
源文件安装模块:
perl Makefile.PL(有时显示Can't locate ExtUtils/MakeMaker.pm in @INC,在centos下需要安装CPAN, yum -y install perl-CAPN ,在ubuntu下需要apt-get install build-essentials)
make
make test
make install
DNS
TCP请求,端口为7788:
my $result = `dig \@192.168.3.217 www.google.com -p 7788 +short +tcp`;
UDP请求:
my $result = `dig \@192.168.3.217 www.google.com -p 7788 +short`;
使用TCP查询:
nslookup -vc twitter.com 8.8.8.8
使用UDP查询:
nslookup twitter.com 8.8.8.8
sshpass:
使用sshpass + shh远程在另一台机器上执行命令,使用sshpass + scp 拷贝文件。
增加和删除虚拟IP:
ifconfig eth0:0 192.168.3.253 netmask 255.255.255.0
ip addr del 192.168.3.253 dev eth0
在两个2网段的host上,分别虚拟出一个3网段的IP,那么两个host可以通过3网段的IP来通信。如果只有一台host有3网段的IP,不能通过3网段的IP来通信。
例如:192.168.2.245 --> 192.168.3.245 192.168.2.253 --> 192.168.3.253
centos
/etc/sysconfig/network --> set hostname
/etc/syconfig/network-scripts/ifcfg-eth0 --> set default network config
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETMASK=255.255.255.0 IPADDR=192.168.2.90 GATEWAY=192.168.2.1 TYPE=Ethernet USERCTL=no IPV6INIT=no PREFIX=24 #means 255.255.255.0 ?? DNS1=202.38.64.1 #/etc/resolv.conf get address from here after restart DEFROUTE=yes IPV4_FAILURE_FATAL=yes NAME=eth0 UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 HWADDR=50:46:5D:AC:5C:9E
/etc/resolv.conf --> set nameserver \ this address can get from network-scripts after restart
/etc/hosts --> don't know the use yet.
ubuntu
/etc/network/interfaces --> set default network config
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.2.93 netmask 255.255.255.0 gateway 192.168.2.1
/etc/resolv.conf --> set nameserver
# Generated by NetworkManager nameserver 202.38.64.7
iptables的开启和关闭
service iptalbes stop/start
/etc/init.d/iptables stop/start
如下程序属于软件包:net-snmp-devel
1,用 net-snmp-config –-snmpconfpath可以确定snmp.conf文件的位置
2,如果系统安装了net-snmp-config: net-snmp-config –-default-mibdirs
3,查看MIB库,模块是否识别,以及浏览MIB库:
snmptranslate -Tp -IR helloMIB
snmptranslate -Tp -IR ADC-MIB::adc
/etc/udev/rules.d/70-persistent-net.rules文件中是关于网卡的信息。 这个文件能不能改,不知道。
查看端口使用情况:
netstat -apn | grep 9999
开放外网对某个端口(如:8080)的访问:
1,关闭防火墙,service iptables stop
2,编辑iptables 配置文件 /etc/sysconfig/iptables,加入以下规则:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
# Generated by iptables-save v1.4.7 on Tue Apr 1 11:27:32 2014 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [25:2396] -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Tue Apr 1 11:27:32 2014
3,重启防火墙,service iptables restart
4,保存配置,以便重启操作系统后规则仍然有效, service iptables save
参看防火墙规则:
iptables -L -n

浙公网安备 33010602011771号